是否可以使用Axis 2 wsdl2java生成使用HTTPS的客户端代码?

问题描述:

使用默认参数,轴线2 WSDL2Java工具作为输入WSDL文件,并生成与所述SOAP端点使用HTTP协议在下面的例子中进行通信,例如客户机侧Java代码:是否可以使用Axis 2 wsdl2java生成使用HTTPS的客户端代码?

wsdl2java -uri MyService.wsdl 

什么我想知道是否有一个输入参数可以传递给wsdl2java工具以生成通过HTTPS与SOAP端点进行通信的客户端代码。

我们很经常使用Axis通过HTTPS。正如Ted所说的,获得SSL证书(特别是自签名)非常重要,因为它实际上是一种破坏交易的手段。

明智的代码,我们通常生成我们的Axis存根对纯HTTP服务。由wsdl2java命令生成的ServiceLocator子类的调用将具有一个“getMyService”方法,该方法除了不带参数的URL之外还将URL作为参数。根据您的服务的确切的Axis版本和名称,类名可能有点不同。但大多数情况下,以下示例演示了在实例化存根对象时将URL(HTTPS或HTTP)更改为指向的任何位置是多么容易。

MyServiceServiceLocator locator = new MyServiceServiceLocator(); 
MyService_PortType myservice = locator.getMyService(new URL("https://www.myservice.net/MyService.jws")); 

希望有帮助。

以下文章有你的答案,我不会抄袭和复制它。你可以从提供的ant xml中提取这些参数。您需要担心Java拥有所需的证书。我相信这篇文章正在讲述客户端代码。 https url也可能只需要在WSDL中指定为https。

http://article.gmane.org/gmane.comp.apache.webservices.axis.user/58499