私はこの分野に不慣れで、ESB 経由で Web サービスにアクセスする必要があります。ここで述べたように-プロキシサービスを使用したサービス仲介私はそれを作成しようとしました。その後、私はそれを実行し、次のような応答を取得します:
<TryitProxyError xmlns:h="http://wso2.org/ns/TryitProxy"
h:status="SOAP envelope error">org.apache.axis2.AxisFault:
The input stream for an incoming message is null.</TryitProxyError>
しかし、私はSOAPUiを使用して同じWebメソッドを実行しようとしましたが、以下のように期待される出力を得ました:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<getPatientHistoryResponse xmlns="http://tilani.lk/">
<getPatientHistoryResult>
<NIC>123</NIC>
<FullName>ABC DEF</FullName>
<FirstName>ABC</FirstName>
<Surname>DEF</Surname>
<Title>Mr.</Title>
<Gender>M/Gender>
</getPatientHistoryResult>
</getPatientHistoryResponse>
</soap:Body>
</soap:Envelope>
これの理由は何ですか?私は.netを使用してこれを作成しました
私のWSDL アドレス-http://localhost:2935/PatientRegService.asmx?WSDL
次に、
エンドポイントを次のように定義します-http://localhost:2935/PatientRegService.asmx
編集 私のプロキシ構成は次のとおりです。
<proxy xmlns="http://ws.apache.org/ns/synapse" name="PatientManagement" transports="https,http" statistics="disable" trace="disable" startOnLoad="true">
<target>
<outSequence>
<send/>
</outSequence>
<endpoint>
<address uri="http://localhost:2935/PatientRegService.asmx?WSDL"/>
</endpoint>
</target>
<publishWSDL uri="http://localhost:2935/PatientRegService.asmx?WSDL"/>
<description></description>
</proxy>