1.先用java自带的wsimport.exe 生成客户端代码
2.解决账户密码登录全限问题
3.解决域名解析错误
4.现在的问题是405
设置账号密码(静态代码块)
setDefault(new Authenticator() {
@Override
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("账号",
"密码".toCharArray());
}
});
main方法测试
try {
String wsdlURL = "http:xxxxxxxxxxxxxxxxxxxxx/wsdl";
SIQUERYPSPOUTSYNService siquerypspoutsynService = new SIQUERYPSPOUTSYNService();
// SIQUERYPSPOUTSYN httpPort = siquerypspoutsynService.getPort(new QName("urn:chintelectric.com:xi:psp","HTTP_Port"), SIQUERYPSPOUTSYN.class);
SIQUERYPSPOUTSYN httpPort = siquerypspoutsynService.getHTTPSPort();
BindingProvider bindingProvider = (BindingProvider) httpPort;
bindingProvider.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, wsdlURL);
ObjectFactory objectFactory = new ObjectFactory();
DTJSONREQ dtjsonreq = objectFactory.createDTJSONREQ();
DTJSONREQ.JSONINFO jsoninfo = objectFactory.createDTJSONREQJSONINFO();
jsoninfo.setDATA("{\"ID\":\"A005\",\"PSPID\":\"P1903709\"}");
dtjsonreq.setJSONINFO(jsoninfo);
DTJSONRSP dtjsonrsp = httpPort.siQUERYPSPOUTSYN(dtjsonreq);
System.out.println("调用SAP询价WebService接口" + dtjsonrsp);
} catch (Exception e) {
e.printStackTrace();
}
报错信息
```java
com.sun.xml.internal.ws.client.ClientTransportException: 服务器发送了 HTTP 状态代码 405: Method Not Allowed
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.checkStatusCode(HttpTransportPipe.java:310)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.createResponsePacket(HttpTransportPipe.java:259)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:217)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:130)
at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:124)
at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:1121)
at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:1035)
at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:1004)
at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:862)
at com.sun.xml.internal.ws.client.Stub.process(Stub.java:448)
at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:178)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:93)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:77)
at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:147)
at com.sun.proxy.$Proxy30.siQUERYPSPOUTSYN(Unknown Source)
at com.jdl.lomir.chint.adapter.http.service.SapQueryCustomerOrderService.main(SapQueryCustomerOrderService.java:72)
```