0

iPhoneで石鹸を使用してWCFWebサービス(自分で作成したものではありません)を利用しようとしています。同じWebサーバーでツールを実行している場合は、SoapUIと.NetWebServiceStudioを使用してサービスをテストできます。しかし、他のマシンから試してみると、ローカルホストからインポートしようとすると両方のツールが失敗します。

<wsdl:import namespace="http://MyDomain.IGeneralInterface" location="http://localhost:8000/?wsdl=wsdl0"/>

wsdl0:

<xsd:schema targetNamespace="http://MyDomain.IGeneralInterface/Imports">
<xsd:import schemaLocation="http://localhost:8000/?xsd=xsd0" namespace="http://MyDomain.IGeneralInterface"/>
<xsd:import schemaLocation="http://localhost:8000/?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/MyDomain.IGeneralInterface"/>
<xsd:import schemaLocation="http://localhost:8000/?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/"/>
<xsd:import schemaLocation="http://localhost:8000/?xsd=xsd3" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
<xsd:import schemaLocation="http://localhost:8000/?xsd=xsd4" namespace="http://schemas.microsoft.com/Message"/>
</xsd:schema>

wsdl2objcを使用できるようにしたかったのですが、インポートも認識できません。

なぜこれが問題なのか、そしてそれをどのように処理するのか教えてもらえますか?

4

1 に答える 1

0

失敗する理由は、wsdl がフラットではないためです。WCF サービスを相互運用できるようにするには、wsdl をフラット化することを検討してください。以下のリンクに従ってください。

wsdl をフラット化する方法

注 : .NET 4.5 を使用している場合、これは組み込みの機能です。つまり、サービスを開発すると、フラット wsdl を生成する URL が表示されます。

于 2012-08-23T08:30:23.707 に答える