2016-10-17 16 views
2

SOAPを使用してサーバーにデータを送信する必要があります。これを実装しましたが、エラーが発生しています。SOAP 1.2を送信する

このエラーは、SOAPやPHPなどのエラーではなく、アプリケーションプロトコルの内容に起因するエラーです。

私はSOAP1.1データを送信しており、SOAP1.2が必要だと主張しています。私が知る限り、私は1.2を送っています。

チェックするサーバー上でヘッダーとデータを収集するための簡単なページを作成しました。実際に送信されている内容を確認できます。

私が何かを逃している、または私が下に送るものに基づいて、これは実際に私が疑うようにSOAP1.2ですか?

PS、私は違いの詳細情報を取得するために、この記事をチェックする: http://wso2.com/library/articles/differentiating-between-soap-versions-looking-soap-message/ おかげで百万、

ジョン

ヘッダ:

SERVER: Array 
(
    [CONTENT_LENGTH] => 1286 
    [CONTENT_TYPE] => application/soap+xml; charset=utf-8 
    [DOCUMENT_ROOT] => /home/viewport/public_html 
    [GATEWAY_INTERFACE] => CGI/1.1 
    [GEOIP_ADDR] => 1.2.3.4 
    [HTTP_ACCEPT] => */* 
    [HTTP_EXPECT] => 100-continue 
    [HTTP_HOST] => example.com 
    [PATH] => /bin 
    [QUERY_STRING] => 
    [REDIRECT_STATUS] => 200 
    [REMOTE_ADDR] => 1.2.3.4 
    [REMOTE_PORT] => 46608 
    [REQUEST_METHOD] => POST 
    [REQUEST_URI] => /soap/index.php 
    [SCRIPT_FILENAME] => /home/example/public_html/soap/index.php 
    [SCRIPT_NAME] => /soap/index.php 
    [SERVER_ADDR] => 11.1.1.1 
    [SERVER_ADMIN] => [email protected] 
    [SERVER_NAME] => example.com 
    [SERVER_PORT] => 80 
    [SERVER_PROTOCOL] => HTTP/1.1 
    [SERVER_SIGNATURE] => 
    [SERVER_SOFTWARE] => Apache 
    [UNIQUE_ID] => WASuooHowGwAAFv9EK4AAAAB 
    [PHP_SELF] => /soap/index.php 
    [REQUEST_TIME] => 1476701858 
) 

とデータ:

xml: <?xml version="1.0" encoding="utf-8"?> 
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> 
<soap12:Body> 
<EditionContactCustomer xmlns="http://tempuri.org/"> 
<Title>Spares</Title> 
<FirstName>John</FirstName> 
<Surname>Mc</Surname> 
<AddressLine1></AddressLine1> 
<PostTown>plett</PostTown> 
<County>Western Cape</County> 
<PostCode></PostCode> 
<email>[email protected]</email> 
<TelephoneNumber>081</TelephoneNumber> 
<MobileNumber>081</MobileNumber> 
<WorkTelephoneNumber></WorkTelephoneNumber> 
<Notes>this is a test note.</Notes> 
<ContactDate>2016-10-17</ContactDate> 
<ContactTime>10:57:38</ContactTime> 
<VehicleRecordID></VehicleRecordID> 
<IntroductionSource>Existing</IntroductionSource> 
<EnquirySource>WEB</EnquirySource> 
<EnquiryType>WEB_FORM</EnquiryType> 
<GUID></GUID> 
<ReferenceID></ReferenceID> 
<UserName></UserName> 
<LinkUrl></LinkUrl> 
<ImageData></ImageData> 
</EditionContactCustomer> 
</soap12:Body> 
</soap12:Envelope> 
+0

実際のPHPコードは何ですか? – GunniH

+0

申し訳ありませんが、私は実際にはSOAPクライアントを使用していないと言いました。私はちょうどxmlを作成し、それを投稿するためにカールを使用します..上の出力は、カールの投稿の結果です.. –

+0

しかし.......なぜ? – GunniH

答えて

0

SOAP 1.2を送信するには、SoapClient構造内に正しい "soap_version"パラメータが必要です。 $ URLがオンラインまたはファイル、あなたのWSDLの場所です

$client = new SoapClient($url, array(
    "soap_version"  => SOAP_1_2, 
    "login"    => "username", 
    "password"   => "password" 
)); 

://

関連する問題