Java WebService中的Portname和Servicename不会更改

时间:2016-02-27 17:59:50

标签: java web-services soap wsdl

我正在学习JAVA WEB SERVICE,尤其是SOAP。根据{{​​3}},我们可以自定义WSDL,就像我们可以使用WebService注释覆盖deafult帖子名称和服务名称一样。所以我尝试了以下内容:

  

包裹练习;

     

import java.util.List;

     

import javax.jws.WebMethod; import javax.jws.WebService;

     

import practice.business.WebTestImpl;   @WebService(名称=" getBooksName",PORTNAME =" getBooksPortName",服务名=" getBooksService&#34)

     

公共类WebCaller

     

{WebTestImpl wimpl = new WebTestImpl();

     

@WebMethod
  public List getBooks(String category)
  {返回   wimpl.getBooks(类);
  }   }

但是仍然没有更改默认服务名称和端口名称。这可能是什么原因?生成的WSDL如下:

<definitions targetNamespace="http://practice/" name="WebCallerService"><types><xsd:schema><xsd:import namespace="http://practice/" schemaLocation="http://adminib-v7gnsh2:8075/WebTest/WebCallerService?xsd=1"/></xsd:schema></types><message name="getBooks"><part name="parameters" element="tns:getBooks"/></message><message name="getBooksResponse"><part name="parameters" element="tns:getBooksResponse"/></message><portType name="WebCaller"><operation name="getBooks"><input wsam:Action="http://practice/WebCaller/getBooksRequest" message="tns:getBooks"/><output wsam:Action="http://practice/WebCaller/getBooksResponse" message="tns:getBooksResponse"/></operation></portType><binding name="WebCallerPortBinding" type="tns:WebCaller"><soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/><operation name="getBooks"><soap:operation soapAction=""/><input><soap:body use="literal"/></input><output><soap:body use="literal"/></output></operation></binding><service name="WebCallerService"><port name="WebCallerPort" binding="tns:WebCallerPortBinding"><soap:address location="http://adminib-v7gnsh2:8075/WebTest/WebCallerService"/></port></service></definitions>

我正在使用Eclipse IDE和Glassfish服务器。

1 个答案:

答案 0 :(得分:1)

如果您还有描述符文件(例如webservices.xml),则代码中端口的设置将被描述符文件中的设置覆盖。 配置Web服务的一个示例是OSCM服务目录中的解决方案。 见https://github.com/servicecatalog/development/tree/master/oscm-webservices

有关开源项目的更多信息OSCM Cloud Service Management Software