2017-11-17 5 views
1

私は現在、SOAPを介してWebサービスとのインターフェイスを試みています(残念ながら、提供する唯一のインターフェイス/プロトコルはありません)。 Webサービスを簡単に使用できるようにするために、ここに表示できるWSDLを提供します:http://demo.coveto.de/soap?wsdl(application/soap + xmlの代わりにcontent type text/htmlとタグ付けされています。したがって、ローカルファイルに保存する必要があります)。PHPで生成されたWSDLをVisual Studioにインポートする2017

WSDLをVisual Studio 2017にインポートする際に問題が発生しました。わかっている限り、WSDL(URLまたはローカルファイル)をサービス参照として追加することをお勧めします。

Warning  Custom tool warning: Cannot import wsdl:binding 
Detail: There was an error importing a wsdl:portType that the wsdl:binding is dependent on. 
XPath to wsdl:portType: //wsdl:definitions[@targetNamespace='https://demo.coveto.de/soap']/wsdl:portType[@name='coveto_soapWebservicePort'] 
XPath to Error Source: //wsdl:definitions[@targetNamespace='https://demo.coveto.de/soap']/wsdl:binding[@name='coveto_soapWebserviceBinding']  

Warning  Custom tool warning: Cannot import wsdl:port 
Detail: There was an error importing a wsdl:binding that the wsdl:port is dependent on. 
XPath to wsdl:binding: //wsdl:definitions[@targetNamespace='https://demo.coveto.de/soap']/wsdl:binding[@name='coveto_soapWebserviceBinding'] 
XPath to Error Source: //wsdl:definitions[@targetNamespace='https://demo.coveto.de/soap']/wsdl:service[@name='coveto_soapWebserviceService']/wsdl:port[@name='coveto_soapWebservicePort'] 

Warning  Custom tool warning: Cannot import wsdl:portType 
Detail: An exception was thrown while running a WSDL import extension: System.ServiceModel.Description.XmlSerializerMessageContractImporter 
Error: The datatype 'http://schemas.xmlsoap.org/soap/encoding/:Array' is missing. 
XPath to Error Source: //wsdl:definitions[@targetNamespace='https://demo.coveto.de/soap']/wsdl:portType[@name='coveto_soapWebservicePort'] 

(それは警告ではなくエラーを言いながら、何よりも他の警告を確認することを言い、実際にエラーがあることに注意してください):これは私には不明であるVS17に次のエラーがポップアップ

私は最後のものだけが実際に問題であると仮定します、他の2つは単にそれによって引き起こされます。

私はSOAPまたはWSDLについてよく知らないので、問題の正確さを正確に突き止めるのに問題があります。私は警告に記載されているスキーマをダウンロードしようとしましたが、URLをさまざまな場所またはファイル名(wsdlファイルと同じディレクトリ)で置き換えると、次のような新しいエラーが発生します。定義されているか、ターゲットの名前空間を持つスキーマが見つかりませんでした。私はこれをWSDLファイルの構造を理解していない一般的な人物とみなしています。

大変助かります。応答にContent-Type:text/html; charset=UTF-8あるので

答えて

0

私は、Visual Studio 2017年

  1. WSDLファイルhttp://demo.coveto.de/soap?wsdlへのリンクにWSDLファイルをインポートしようとしたことは、有効ではありません。コンテンツタイプはContent-Type:text/xml;charset=UTF-8である必要があります。

  2. PHP内部SoapClientはあまり良くありません。代わりにZend SoapClientを使用してください。

これが私の作品:答えるために時間を割いて

<?php 

// composer require zendframework/zend-soap 

require_once __DIR__ . '/vendor/autoload.php'; 

$client = new Zend\Soap\Client("http://demo.coveto.de/soap?wsdl"); 
$result1 = $client->getFunctions(); 
var_dump($result1); 
+0

感謝を!私はZend SoapClientをインストールしましたが、私はそれが私を助けるはずです - PHP(C#アプリケーション)を使用できず、Webサービス(別の会社)を制御できません。 –

+0

このバグをこの会社に報告してください。 – DanielO

関連する問題