Java 有端点与无端点的SpringWebService
我需要创建一个使用SOAP服务的客户端应用程序。我需要从2个wsdl(也从2个不同的服务器应用程序)创建客户端应用程序 下面是第一个Web服务的代码 EcommPromotoWebService.java EcommPromotoWebServiceImpl.java 下面是第二个web服务的代码: TopupWebService.java TopUpWebserviceImpl.java 我注意到他们之间有差异。其中之一是第一个Web服务在其实现类上具有Java 有端点与无端点的SpringWebService,java,spring,web-services,soap,Java,Spring,Web Services,Soap,我需要创建一个使用SOAP服务的客户端应用程序。我需要从2个wsdl(也从2个不同的服务器应用程序)创建客户端应用程序 下面是第一个Web服务的代码 EcommPromotoWebService.java EcommPromotoWebServiceImpl.java 下面是第二个web服务的代码: TopupWebService.java TopUpWebserviceImpl.java 我注意到他们之间有差异。其中之一是第一个Web服务在其实现类上具有endPointInterface,而第
endPointInterface
,而第二个Web服务没有
当我使用
wsimport
命令为它们生成客户端代码时,它也会生成不同的类。第一个web服务将与实现类(EcommPromotoWebServiceImplService
class)一起生成,而第二个web服务没有生成任何实现类
那么,如何为第二个Web服务正确地生成客户端应用程序的类呢?因为在没有生成实现类的情况下,我一直在客户端应用程序上获取NullPointerException(请检查我的线程:)
我用来生成它们的
wsimport
命令是wsimport-keep-verbose
package com.ptdam.promo.webservices;
import javax.jws.WebService;
@WebService
public interface EcommPromoWebService {
String sayHi(String text);
EcommPromoResponse inquiryPromo(EcommPromoRequest promoInquiryRequest);
}
package com.ptdam.promo.webservices;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.jws.WebService;
import com.ptdam.promo.utils.C3p0ConnectionPool;
@WebService(endpointInterface="com.ptdam.promo.webservices.EcommPromoWebService")
public class EcommPromoWebServiceImpl implements EcommPromoWebService {
@Override
public String sayHi(String text) {
System.out.println("sayHi called");
return "Hello, " + text;
}
@Override
public EcommPromoResponse inquiryPromo(EcommPromoRequest promoInquiryRequest) {
EcommPromoResponse response = new EcommPromoResponse();
Connection connInquiry = null;
// and any other stuffs
}
package ptdam.emoney.webservice.transactions;
@WebService
public interface TopupWebService {
@Permission(ServiceOperation.MANAGE_MEMBERS)
@WebMethod
@WebResult(name = "echoTestResult")
String echoTest(@WebParam(name = "tx") String tx);
@Permission(ServiceOperation.MANAGE_MEMBERS)
@WebMethod
@WebResult(name = "inquiryResult")
TopupInquiryResponse inquiry(@WebParam(name = "request") TopupInquiryRequest request);
// and any other stuffs
package ptdam.emoney.webservice.transactions;
@WebService(name = "emoneytopup", serviceName = "emoneytopup")
public class TopupWebServiceImpl implements TopupWebService {
// and any other stuffs
}