The operation 'PRPA_IN201301UV02' could not be loaded because it has a parameter or return type of type System.ServiceModel.Channels.Message or a type that has MessageContractAttribute and other parameters of different types. When using System.ServiceModel.Channels.Message or types with MessageContractAttribute, the method must not use any other types of parameters.
コンソール ホストで WCF を実行しています。これがコントラクトです。
[MessageContract]
public class opRequest
{
[MessageBodyMember]
public string myProperty;
}
[ServiceContract(Namespace = "urn:hl7-org:v3")]
public interface IHL7v3
{
[OperationContract(Name = "PRPA_IN201301UV02", Action = "urn:hl7-org:v3:PRPA_IN201301UV02")]
string PIXManager_PRPA_IN201301UV02(opRequest clientID);
}
opRequest クラスから and を削除すると実行され[MessageContract]
ます[MessageBodyMember]
それが私が必要とするものに到達するかどうかは完全にわからないので、より広い範囲を与えます - パラメータ名の囲みタグなしで SOAP 本体を取得しようとしています。たとえば、(SOAP メッセージから抽出された本文) の代わりに:
<s:Body>
<PRPA_IN201301UV02 xmlns="urn:hl7-org:v3">
<clientID>the xml document is enclosed</clientID>
</PRPA_IN201301UV02>
私はそれが次のようになりたい:
<s:Body>
<PRPA_IN201301UV02 xmlns="urn:hl7-org:v3">
my given xml document will go here...
</PRPA_IN201301UV02>
標準 (HL7v3 PIX Manager SOAP Web サービス) に準拠するには、そのようにする必要があります。
何か案は?