指定されたパターンの XmlSerializer が機能しないという投稿を読んだ後、そのようなサービスを実装しようとしました:XmlSerializerFormat を使用した OperationContract。しかし、私の Soap メッセージには、操作パラメーターである追加のタグが含まれています。そのタグを削除するにはどうすればよいですか?
これが私のサービスサンプルです
[System.ServiceModel.ServiceContractAttribute(Namespace = "http://mynamespace.com/", ConfigurationName = "ConfigName")]
public interface MyInterfacePort
{
[System.ServiceModel.OperationContractAttribute(Action = "http://mynamespace.com/opName", ReplyAction = "*")]
[System.ServiceModel.FaultContractAttribute(typeof(MyError), Action = "http://mynamespace.com/opName", Name = "opErr")]
[System.ServiceModel.XmlSerializerFormatAttribute()]
opResponse opName(opRequest request);
次に、シリアル化されたリクエスト:
[System.Serializable]
public partial class opRequest
{
public string myProperty;
生成された SOAP メッセージ:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<opName xmlns="http://mynamespace.com/">
<request>
<myProperty>262157</myProperty>
</request>
</opName>
</s:Body>
</s:Envelope>
私のサービスは追加の <request> タグを処理しません
ご協力いただきありがとうございます。