次のような署名を持つSQLServer2005ストアドプロシージャがあります。
CREATE PROCEDURE [dbo].[ProcTRequest]
@Pxml xml, @ClientCode varchar(10)
AS
BEGIN
...
END
.asmx
このストアドプロシージャを呼び出すWebサービスを作成する必要があります。これは私がブロックを持っているところです。
パラメータ@Pxml
がC#Webメソッドで文字列として指定されている場合、次のようになります。
サーバーはリクエストを処理できませんでした。
次にXmlText
、のタイプとして試してみ@Pxml
ました。
サーバーはリクエストを処理できませんでした。メソッドMyWebService.MyWebMethodは反映できません。'PXml'を反映するエラーがありました。->; タイプ'System.Xml.XmlText'を反映するエラーがありました。-> System.Xml.XmlTextは次のように使用できません:'xml要素'。
C#Webメソッドからこのストアドプロシージャを呼び出す正しい方法は何ですか?@Pxml
パラメータは常に整形式のXMLであることに注意してください。
このWebサービスを呼び出す人は、UnixシステムでCurlを使用しています。
要件はASMXですが、これをWCF経由で実装できる場合は、擬似コードを使用してその方法を教えてください。私はまだWCFに精通していません。
助けてください。ありがとうございました。
更新:これは私がSPと呼ぶ方法です
[WebMethod]
public string GetRequestID(string PXml, string clientcode)
{
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader dr = db.ExecuteReader("ProcRequestID", PXml, clientcode))
{
return dr["RequestID"].ToString();
}
}