Undefined port type:{http://chillyc.info/api}Name.,undefined

來源:互聯網
上載者:User

Undefined port type:{http://chillyc.info/api}Name.,undefined

來自http://blog.csdn.net/cctt_1/article/details/8639903

介面代碼:

package myws; import javax.jws.WebParam; import javax.jws.WebService; /** * * @author 帳前卒 * */ @WebService(targetNamespace = "http://chillyc.info/api", name="HELLO") public interface WebServiceAPI { String hello(@WebParam(name="name")String name); } View Code這裡要注意的是 那個hello函數,必須與webService發布的函數名相一致(要看wdsl檔案中的名字。) 另外WebParam中的name也需要和發布函數中的參數名字一致。 這裡WebService中傳入了兩個值。其中name就是剛才WebService中的name. 其實就是wsdl中的portType. 如果這裡寫錯了。就會有Undefined port type:{http://chillyc.info/api}Name. 這個錯誤。所以要小心。package myws; import java.io.IOException; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebResult; import javax.jws.WebService; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.ws.Endpoint; /** * * @author 帳前卒 * */ @WebService( name="HELLO", targetNamespace="http://chillyc.info/api", serviceName="API", portName="PortName") public class WebServiceHolder { @WebMethod @WebResult(name="return") public String hello(@WebParam(name="name")String name) { return "hello" + name; } public static void main(String[] args) throws IOException { Endpoint.publish("http://localhost:80/fake/ws", new WebServiceHolder()); System.in.read(); } } View Code

 

調用介面代碼:

package myws; import java.net.MalformedURLException; import java.net.URL; import javax.xml.namespace.QName; import javax.xml.ws.Service; /** * * @author 帳前卒 * */ public class Client { public static void main(String[] args) throws MalformedURLException { WebServiceAPI api = Service.create( new URL("http://localhost:80/fake/ws?wsdl"), new QName("http://chillyc.info/api", "API")) .getPort(WebServiceAPI.class); System.out.println(api.hello("sss")); } } View Code

 

wsdl內容:

This XML file does not appear to have any style information associated with it. The document tree is shown below. <!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.6 in JDK 6. --> <!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.6 in JDK 6. --> <definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://chillyc.info/api" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://chillyc.info/api" name="API"> <types> <xsd:schema> <xsd:import namespace="http://chillyc.info/api" schemaLocation="http://localhost/fake/ws?xsd=1"/> </xsd:schema> </types> <message name="hello"> <part name="parameters" element="tns:hello"/> </message> <message name="helloResponse"> <part name="parameters" element="tns:helloResponse"/> </message> <message name="getReturnInfo"> <part name="parameters" element="tns:getReturnInfo"/> </message> <message name="getReturnInfoResponse"> <part name="parameters" element="tns:getReturnInfoResponse"/> </message> <portType name="HELLO"> <operation name="hello"> <input message="tns:hello"/> <output message="tns:helloResponse"/> </operation> <operation name="getReturnInfo"> <input message="tns:getReturnInfo"/> <output message="tns:getReturnInfoResponse"/> </operation> </portType> <binding name="PortNameBinding" type="tns:HELLO"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> <operation name="hello"> <soap:operation soapAction=""/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="getReturnInfo"> <soap:operation soapAction=""/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <service name="API"> <port name="PortName" binding="tns:PortNameBinding"> <soap:address location="http://localhost/fake/ws"/> </port> </service> </definitions> View Code

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.