javax-service访问WebService接口

需要jar包:

无,jdk自带

测试:

package javax;

import java.net.MalformedURLException;
import java.net.URL;

import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import javax.xml.ws.spi.Provider;
import javax.xml.ws.spi.ServiceDelegate;
public class JAXWSClient {

    public static void main(String[] args) throws MalformedURLException {
        URL wsdlLocation = new URL("http://127.0.0.1:8087//services/WebServicesTest?wsdl");
        //设置命名空间
        String namespaceURI = "webservices.wst.weaver.com.cn";
        //设置service名称:<wsdl:service name="WebServicesTest">
        String serviceName = "WebServicesTest";
        //设置port名称:<wsdl:port name="WebServicesTestHttpPort"
        String portName = "WebServicesTestHttpPort";
        WebServicesTest result=(WebServicesTest) JAXWSClient.getServiceClass1(wsdlLocation, namespaceURI, serviceName, portName, WebServicesTest.class);
        System.out.println(result.getIN(132));
    }

    /**
     * 返回接口映射
     * @param wsdlLocation  WebService接口
     * @param namespaceURI  命名空间
     * @param serviceName   service名称:<wsdl:service name="WebServicesTest">
     * @param portName  port名称:<wsdl:port name="WebServicesTestHttpPort"
     * @param className 映射类
     * @return
     */
    public static Object getServiceClass(URL wsdlLocation,String namespaceURI,String serviceName,String portName,Class className){
        ServiceDelegate delegate = Provider.provider().createServiceDelegate(wsdlLocation,new QName(namespaceURI, serviceName),Service.class);
        return delegate.getPort(new QName(namespaceURI, portName), className);
    }

    /**
     * 返回接口映射
     * @param wsdlLocation  WebService接口
     * @param namespaceURI  命名空间
     * @param serviceName   service名称:<wsdl:service name="WebServicesTest">
     * @param portName  port名称:<wsdl:port name="WebServicesTestHttpPort"
     * @param className 映射类
     * @return
     */
    public static Object getServiceClass1(URL wsdlLocation,String namespaceURI,String serviceName,String portName,Class className){
        Service service = Service.create(wsdlLocation, new QName(namespaceURI, serviceName));
        return service.getPort(new QName(namespaceURI, portName), className);
    }

}

接口映射:

package javax;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;

@WebService(name = "WebServicesTest", targetNamespace = "webservices.wst.weaver.com.cn")
@SOAPBinding(style = SOAPBinding.Style.RPC)
public interface WebServicesTest {
    @WebMethod(operationName = "getIN1")
    @WebResult(name = "getIN1Response", partName = "getIN1Response")
    public String getIN1(
            @WebParam(name = "in0", partName = "in0") String in0);

    @WebMethod(operationName = "getIN")
    @WebResult(name = "getINResponse", partName = "getINResponse")
    public String getIN(
            @WebParam(name = "in0", partName = "in0") int in0);
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Files contained in javax.servlet.jar: META-INF/MANIFEST.MF javax/servlet/http/LocalStrings.properties javax.servlet.http.HttpSessionBindingListener.class javax.servlet.http.HttpSessionBindingEvent.class javax.servlet.http.HttpSessionEvent.class javax.servlet.http.HttpSession.class javax.servlet.http.HttpSessionContext.class javax.servlet.http.Cookie.class javax.servlet.http.HttpSessionAttributeListener.class javax.servlet.http.HttpServlet.class javax.servlet.http.HttpServletRequest.class javax.servlet.http.HttpServletResponse.class javax.servlet.http.NoBodyResponse.class javax.servlet.http.NoBodyOutputStream.class javax.servlet.http.HttpServletRequestWrapper.class javax.servlet.http.HttpSessionActivationListener.class javax.servlet.http.HttpSessionListener.class javax.servlet.http.HttpUtils.class javax.servlet.http.HttpServletResponseWrapper.class javax/servlet/resources/web-app_2_2.dtd javax/servlet/resources/j2ee_1_4.xsd javax/servlet/resources/j2ee_web_services_client_1_1.xsd javax/servlet/resources/j2ee_web_services_1_1.xsd javax/servlet/resources/XMLSchema.dtd javax/servlet/resources/jsp_2_0.xsd javax/servlet/resources/javaee_web_services_client_1_2.xsd javax/servlet/resources/datatypes.dtd javax/servlet/resources/web-app_2_3.dtd javax/servlet/resources/jsp_2_1.xsd javax/servlet/resources/web-app_2_4.xsd javax/servlet/resources/javaee_5.xsd javax/servlet/resources/web-app_2_5.xsd javax/servlet/resources/xml.xsd javax/servlet/jsp/resources/web-jsptaglibrary_1_1.dtd javax/servlet/jsp/resources/web-jsptaglibrary_1_2.dtd javax/servlet/jsp/resources/web-jsptaglibrary_2_0.xsd javax/servlet/jsp/resources/jspxml.dtd javax/servlet/jsp/resources/jsp_2_0.xsd javax/servlet/jsp/resources/jsp_2_1.xsd javax/servlet/jsp/resources/jspxml.xsd javax/servlet/LocalStrings.properties javax.servlet.ServletContextAttributeListener.class javax.servlet.ServletContextAttributeEvent.class javax.servlet.ServletContextEvent.class javax.servlet.ServletContext.class javax.servlet.RequestDispatcher.class javax.servlet.Servlet.class javax.servlet.ServletException.class javax.servlet.ServletRequest.class javax.servlet.ServletResponse.class javax.servlet.ServletConfig.class javax.servlet.ServletInputStream.class javax.servlet.ServletOutputStream.class javax.servlet.FilterChain.class javax.servlet.ServletRequestEvent.class javax.servlet.Filter.class javax.servlet.FilterConfig.class javax.servlet.ServletRequestAttributeListener.class javax.servlet.ServletRequestAttributeEvent.class javax.servlet.GenericServlet.class javax.servlet.SingleThreadModel.class javax.servlet.ServletRequestWrapper.class javax.servlet.ServletResponseWrapper.class javax.servlet.ServletRequestListener.class javax.servlet.UnavailableException.class javax.servlet.ServletContextListener.class META-INF/maven/org.mortbay.jetty/servlet-api-2.5/pom.xml META-INF/maven/org.mortbay.jetty/servlet-api-2.5/pom.properties
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值