SalesForce からのアウトバウンド通知サービスを使用しています。
SalesForce WSDL からプロキシを生成し、それを ASMX Web サービスに送信しようとすると、次のエラーが発生します。
リクエスト要素 http://soap.sforce.com/2005/09/outbound'> が認識されませんでした。
私が持っているC#ASMX Webサービスで
[WebService(Namespace = "http://services.company1.com.au/services")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
[SoapDocumentService(RoutingStyle = SoapServiceRoutingStyle.RequestElement)]
public class ImportPosition : WebService, NotificationPort
SalesForce WSDL には、次の SOAP 定義があります。
<definitions targetNamespace="http://soap.sforce.com/2005/09/outbound"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://soap.sforce.com/2005/09/outbound"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ent="urn:enterprise.soap.sforce.com"
xmlns:ens="urn:sobject.enterprise.soap.sforce.com">
C# ASMX Web サービスの名前空間を ' http://soap.sforce.com/2005/09/outbound ' に変更すると、要求は正常に受信されますが、null オブジェクトとして受信されます。
Wireshark を使用すると、SOAP メッセージが次のように受信されることがわかります。
<notifications xmlns="http://soap.sforce.com/2005/09/outbound"
この名前空間の問題の原因は何ですか? ありがとう