2011-11-30 115 views
1

我有一個soap lite客戶端使用wcf服務。我測試了basichttpbinding上的所有東西,它工作正常。當我切換結合的WSHttpBinding:如何將soap lite客戶端配置爲使用wshttpbinding來使用WCF服務?

<endpoint binding="wsHttpBinding" bindingConfiguration="customWsBinding" 
      contract="LogisticServiceLibrary.ILogisticService" /> 

,並改變了肥皂精簡版的版本使用1.2:

$client = SOAP::Lite 
     ->proxy($endpoint) 
    ->soapversion('1.2'); 

然後它給了我一個錯誤,下面是從SOAPUI輸出:

Wed Nov 30 18:36:14 EST 2011:DEBUG:>>「POST/LogisticService
HTTP/1.1 [\ r] [\ n]」Wed November 30 18:36:14 EST 2011:DEBUG:>> 「TE:
deflate,gzip; q = 0.3 [\ r] [\ n]「Wed Nov 30 18:36:14 EST 2011:DEBUG:>>
」Connection:TE,close [\ r] [\ n]「Wed 11月30日18:36:14東部標準時間2011年:調試:>>
「Accept:text/xml [\ r] [\ n]」Wed Nov 30 18:36:14 EST 2011:調試:>>
「Accept :multipart/* [\ r] [\ n]「Wed Nov 30 18:36:14 EST 2011:DEBUG:>>
」Accept:application/soap [\ r] [\ n]「Wed Nov 30 18: 36:14 EST
2011:DEBUG:>>「User-Agent:SOAP :: Lite/Perl/0.712 [\ r] [\ n]」Wed Nov 30
18:36:14 EST 2011:DEBUG:> >「Content-Length:49496 [\ r] [\ n]」Wed Nov 30
18:36:14 EST 2011:DEBUG:>>「Content-Type:application/soap + xml;
charset = utf-8 [\ r] [\ n]「Wed November 30 18:36:14 EST 2011:DEBUG:>>
」SOAPAction:http://tempuri.org/ILogisticService/IssueOrder[\r ] [\ n]「
Wed November 30 18:36:14 EST 2011:DEBUG:>>」Host:localhost:8008 [\ r] [\ n]「
Wed November 30 18:36:14 EST 2011 :DEBUG:>>「[\ r] [\ n]」Wed Nov 30 18:36:14
EST 2011:DEBUG:>>「 xmlns:namesp1 =」http://namespaces.soaplite.com/perl 「
的xmlns:的xsi =」 http://www.w3.org/2001/XMLSchema-instance」
的xmlns:的soapenc = 「http://schemas.xmlsoap.org/soap/encoding/」
的xmlns: XSD =「http://www.w3.org/2001/XMLSchema「
soap:encodingStyle =」http://schemas.xmlsoap.org/soap/encoding/「
xmlns:soap =」http://schemas.xmlsoap.org/soap/envelope/「> xmlns =「http://tempuri.org/」> /schemas.datacontract.org/2004/07/LogisticServiceLibrary「
Wed November 30 18:36:14 EST 2011:DEBUG:< <」HTTP/1.1 400 Bad
請求[\ r] [\ n]「Wed Nov 11 30 18:36:14 EST 2011:DEBUG:< <「HTTP/1.1 400
錯誤的請求[\ r] [\ n]」Wed Nov 30 18:36:14 EST 2 011:調試:< <
「內容長度:0 [\ R] [\ n]的」 星期三11月30日18點36分十四秒EST 2011:DEBUG:< <
「服務器:HTTPAPI/1。0 [\ r] [\ n]「Wed Nov 30 18:36:14 EST
2011:DEBUG:< <」Date:Wed,30 Nov 2011 23:36:14 GMT [\ r] [\ n]「週三11月30日
十八點36分14秒EST 2011:DEBUG:< < 「[\ R] [\ N]」

它說400錯誤的請求......任何想法是怎麼回事

+0

我讀完這個後現在已經過去了那一點:[link](http://www.herongyang.com/Web-Services/Perl-SOAP-1 -2-soapversion-and-envprefix-Methods.html)現在又出現了另一個問題。有沒有人實際配置肥皂精簡版與wshttpbinding工作? – gavin

回答

2

使用WSHttpBinding要求客戶端使用SOAP 1.2並理解ws-addressing,ws-reliablemessaging,ws-security,ws-policy和ws-policyassertion。我懷疑SOAP :: Lite是否理解這些,因此「Lite」命名法。BasicHttpBinding是非常基本的,就像SOAP :: Lite一樣:)

相關問題