DOBON.NETプログラミング掲示板過去ログ
PHPのWEBサービスをVB.NETで呼び出す
題名: PHPのWEBサービスをVB.NETで呼び出す
著者: リュウ
日時: 2010/05/18 14:47:30
ID: 26836
この記事の返信元:
(なし)
この記事への返信:
(なし)
ツリーを表示
環境/言語:[VB.NET2005、PHP]
分類:[.NET]
タイトルとおりですが、PHPで作成したWEBサービスをVB.NETで呼び出そうと
思ってWSDLファイルを作成しWEB参照を試したのですが、
バインディングの定義が見つからないとエラーが出てどうしてもWEB参照が
うまく出来ません。
WSDLの構文とか、言語によって異なるのでしょうか?
実際、.NETで自動作成されたWSDLをみると、各タグに「wsdl:」がついていたので
自作で作成したWSDLにも、各タグに「wsdl:」付けてみましたが変わらず。
何が悪いのかさっぱり分かりません。
すみませんが、お助け下さい。宜しくお願いします。
ちなみにWSDLファイルの内容は下記になります。
hw.wsdlファイル
<内容>
<?xml version ="1.0" encoding ="UTF-8" ?>
<wsdl:definitions name="HW"
targetNamespace="http://localhost/hw"
xmlns:tns=" http://localhost/hw"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<wsdl:message name="getHWRequest">
<wsdl:part name="id" type="xsd:array"/>
</wsdl:message>
<wsdl:message name="getHWResponse">
<wsdl:part name="Result" type="xsd:string"/>
</wsdl:message>
<wsdl:portType name="ServiceSoap">
<wsdl:operation name="getHW">
<wsdl:input message="tns:getHWRequest"/>
<wsdl:output message="tns:getHWResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="ServiceSoap" type="tns:ServiceSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="getHW">
<soap:operation soapAction="http://localhost/hw/getHW" style="document" />
<wsdl:input>
<soap:body use="encoded" namespace="urn:localhost-hw" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</wsdl:input>
<wsdl:output>
<soap:body use="encoded" namespace="urn:localhost-hw" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="hw">
<wsdl:port name="ServiceSoap" binding="tns:ServiceSoap">
<soap:address location="http://localhost/soapsrv.php"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
DOBON.NET
|
プログラミング道
|
プログラミング掲示板
分類:[.NET]
タイトルとおりですが、PHPで作成したWEBサービスをVB.NETで呼び出そうと
思ってWSDLファイルを作成しWEB参照を試したのですが、
バインディングの定義が見つからないとエラーが出てどうしてもWEB参照が
うまく出来ません。
WSDLの構文とか、言語によって異なるのでしょうか?
実際、.NETで自動作成されたWSDLをみると、各タグに「wsdl:」がついていたので
自作で作成したWSDLにも、各タグに「wsdl:」付けてみましたが変わらず。
何が悪いのかさっぱり分かりません。
すみませんが、お助け下さい。宜しくお願いします。
ちなみにWSDLファイルの内容は下記になります。
hw.wsdlファイル
<内容>
<?xml version ="1.0" encoding ="UTF-8" ?>
<wsdl:definitions name="HW"
targetNamespace="http://localhost/hw"
xmlns:tns=" http://localhost/hw"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<wsdl:message name="getHWRequest">
<wsdl:part name="id" type="xsd:array"/>
</wsdl:message>
<wsdl:message name="getHWResponse">
<wsdl:part name="Result" type="xsd:string"/>
</wsdl:message>
<wsdl:portType name="ServiceSoap">
<wsdl:operation name="getHW">
<wsdl:input message="tns:getHWRequest"/>
<wsdl:output message="tns:getHWResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="ServiceSoap" type="tns:ServiceSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="getHW">
<soap:operation soapAction="http://localhost/hw/getHW" style="document" />
<wsdl:input>
<soap:body use="encoded" namespace="urn:localhost-hw" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</wsdl:input>
<wsdl:output>
<soap:body use="encoded" namespace="urn:localhost-hw" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="hw">
<wsdl:port name="ServiceSoap" binding="tns:ServiceSoap">
<soap:address location="http://localhost/soapsrv.php"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>