具有端点的Spring WebService与无端点

时间:2017-07-06 05:30:33

标签: java spring web-services soap

我需要创建一个用于使用SOAP服务的客户端应用程序。我需要从2个wsdl(来自2个不同的服务器应用程序)创建客户端应用程序

以下是第一个 Web服务

的代码

EcommPromoWebService.java

package com.ptdam.promo.webservices;

import javax.jws.WebService;

@WebService
public interface EcommPromoWebService {
    String sayHi(String text);
    EcommPromoResponse inquiryPromo(EcommPromoRequest promoInquiryRequest);
}

EcommPromoWebServiceImpl.java

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
}

这是第二个 Web服务的代码: TopupWebService.java

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

TopUpWebserviceImpl.java

package ptdam.emoney.webservice.transactions;
@WebService(name = "emoneytopup", serviceName = "emoneytopup")
public class TopupWebServiceImpl implements TopupWebService {

// and any other stuffs
}

我注意到它们之间存在差异。其中一个是第一个 webservice在其实现类上有endPointInterface,而第二个没有。{/ p>


当我使用wsimport命令生成两者的客户端代码时,它也会生成不同的类。 第一个 Web服务将与实现类(EcommPromoWebServiceImplService类)一起生成,而第二个没有生成实现类。


那么,如何为第二个 webservice正确生成客户端应用程序的类?因为没有生成实现类,我不断在我的客户端应用程序上获取NullPointerException(请在此查看我的帖子:Spring @AutoWired always null


我用来生成它们的wsimport命令是wsimport -keep -verbose <wsdladdress>

0 个答案:

没有答案