2017-02-23 1 views
1

Ich benutze Pakt java> Pakt überprüfen funktioniert, wenn der Provider-Host localhost ist. Wie stelle ich einige andere Hostdetails bereit? Wenn ich einen Provider wie folgt angeben,Pakt >> Pact Provider Host anders als localhost


<serviceProvider> 
    <name>provider1</name> 
    <protocol>http</protocol> 
    **<host>**google.com**</host>** 
    <path>/</path> 

    <consumers> 
    <consumer> 
    <name>consumer1</name> 
    <pactFile>../pacts/test_consumer-test_provider.json</pactFile> 
    </consumer> 
    </consumers> 
</serviceProvider> 

Ich erhalte eine Antwort


Verifying a pact between consumer1 and provider1 
    [Using file ../pacts/test_consumer-test_provider.json] 
    Given test state 
     WARNING: State Change ignored as there is no stateChange URL 
    Invalid Information Model 
     Request Failed - google.com 

Wie stelle ich einige andere Host-Details?

Antwort

2

google.com ist kein gültiger Host, sondern der Basis-Domainname von Google. Sie sollten einen tatsächlichen Hostnamen angeben, an den die Anforderungen gesendet werden sollen.

Zum Beispiel mit curl google.com:

$ curl -v http://google.com 
* Rebuilt URL to: http://google.com/ 
* Trying 216.58.203.110... 
* Connected to google.com (216.58.203.110) port 80 (#0) 
> GET/HTTP/1.1 
> Host: google.com 
> User-Agent: curl/7.47.0 
> Accept: */* 
> 
< HTTP/1.1 302 Found 
< Cache-Control: private 
< Content-Type: text/html; charset=UTF-8 
< Referrer-Policy: no-referrer 
< Location: http://www.google.com.au/?gfe_rd=cr&ei=ckz9WMKPDYTr8weL36iABA 
< Content-Length: 262 
< Date: Mon, 24 Apr 2017 00:53:06 GMT 
< 
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"> 
<TITLE>302 Moved</TITLE></HEAD><BODY> 
<H1>302 Moved</H1> 
The document has moved 
<A HREF="http://www.google.com.au/?gfe_rd=cr&amp;ei=ckz9WMKPDYTr8weL36iABA">here</A>. 
</BODY></HTML> 

gibt eine 302 Moved Antwort.

Wenn Sie mit aktivierter Debug-Protokollierung (-X-Parameter für Maven) arbeiten, sollten Sie genauere Informationen darüber erhalten, warum der Verifizierer die Anforderung als Fehler behandelt hat.

0

Der Host ist die IP- oder Hostname-Adresse des Providers. Wenn Sie also Ihren Provider sagen lassen, irgendwo deployed, müssen Sie die IP-Adresse dieser Bereitstellung angeben. Sie können HOSTNAMEs nicht einfach als google.com bereitstellen.

Verwandte Themen