我希望使用Travelport Universal API
开发航班预订系统,所以我使用了Travelport Developers官方链接作为参考:
Getting Started for Travelport Developers
如文件所述:
Travelport Universal API为航空,酒店,汽车和铁路提供一系列旅行内容,包括辅助设施(可选服务)。它还提供了构建完整的旅行者,代理商,分支机构和帐户配置文件的功能。
为了能够发送请求和接收回复,我们应该要求30-Day Trial Credentials for Travelport Universal API
,所以我已经要求这个,并且我已经收到了我的凭证,凭证由很多东西组成:
我测试了这个凭据,我确信他们正在使用以下链接中的php文件:
TravelPort Universal API - Ping Request with PHP
我正在尝试使用eclipse在JAVA中运行Travelport API,并且我按照以下网址中提到的步骤进行操作:
Setting up to work with Universal API
我遵循的配置步骤是:
Travelport/travelport-uapi-tutorial
Exception in thread "main" javax.xml.ws.WebServiceException: Could not send Message.
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:150)
at $Proxy48.service(Unknown Source)
at com.travelport.service.system_v9_0.SystemPingPortType_SystemPingPort_Client.main(SystemPingPortType_SystemPingPort_Client.java:55)
Caused by: org.apache.cxf.transport.http.HTTPException: HTTP response '404: Not Found' when communicating with http://localhost:8080/kestrel/SystemService
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.doProcessResponseCode(HTTPConduit.java:1600)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1607)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1551)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1348)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:651)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:324)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:277)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:139)
... 2 more
任何人都可以支持我为测试Travelport API所需的步骤,以便我可以发送请求并接收Travelport真实数据的回复吗?
答案 0 :(得分:0)
您需要在生成Java类之后更改连接端点。在运行时,可以使用以下方法完成:
String endpoint = "https://emea.universal-api.travelport.com/B2BGateway/connect/uAPI";
BindingProvider provider = (BindingProvider) port;
Map<String, Object> reqCtx = provider.getRequestContext();
String connUrl = endpoint.endsWith("/")
? endpoint + connUrlSuffix
: endpoint + "/" + connUrlSuffix;
reqCtx.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, connUrl);
答案 1 :(得分:-2)
您似乎尝试在端口8080上连接到localhost,但没有服务正在运行。