다음은 javax.ws
을 사용하는 간단한 서비스의 장난감 예입니다. 웹 브라우저 또는 말풍선에서 호출 할 수있는 서비스 URL을 가져 오려고합니다. 이는 장난감 서비스 코드 :간단한 javax.ws REST 서비스 URL을 얻는 방법
package packagename;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
@WebService
@Path("/service")
public class testserver
{
@GET
@Path("/test")
@WebMethod
public String test()
{
return "<html>Test text here</html>";
}
}
그리고이 서비스 전개 함수이다 :
package packagename;
import javax.xml.ws.Endpoint;
public class deploy
{
public static void main(String [] args)
{
String endpointURL = "http://localhost:7777/";
Endpoint.publish(endpointURL,new testserver());
}
}
나는 오류없이 떠들썩한 파티를 통해 자바 파일을 실행합니다.
http://localhost:7777/service/test
으로 이동하면 test()
기능의 텍스트가 생성되지 않아야합니까? 내 브라우저에서 Server not found 오류가 발생합니다.
아래는 wsdl 파일입니다 (http://localhost:7777/?wsdl
). 내가 여기서 찾고있는 정보가 여기 있습니까? 몇 가지 URL을 시도했다 (testserverService 등) 아래에서 정보를 얻는 성공없이.
<!-- Published by JAX-WS RI (http://jax-ws.java.net). RI's version is JAX-WS RI 2.2.9-b130926.1035 svn-revision#5f6196f2b90e9460065a4c2f4e30e065b245e51e.
-->
<!-- Generated by JAX-WS RI (http://jax-ws.java.net). RI's version is JAX-WS RI 2.2.9-b130926.1035 svn-revision#5f6196f2b90e9460065a4c2f4e30e065b245e51e.
-->
<definitions targetNamespace="http://packagename/" name="testserverService">
<types>
<xsd:schema>
<xsd:import namespace="http://packagename/" schemaLocation="http://localhost:7777/?xsd=1"/>
</xsd:schema>
</types>
<message name="test">
<part name="parameters" element="tns:test"/>
</message>
<message name="testResponse">
<part name="parameters" element="tns:testResponse"/>
</message>
<portType name="testserver">
<operation name="test">
<input wsam:Action="http://packagename/testserver/testRequest" message="tns:test"/>
<output wsam:Action="http://packagename/testserver/testResponse" message="tns:testResponse"/>
</operation>
</portType>
<binding name="testserverPortBinding" type="tns:testserver">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<operation name="test">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="testserverService">
<port name="testserverPort" binding="tns:testserverPortBinding">
<soap:address location="http://localhost:7777/"/>
</port>
</service>
</definitions>
답변이 매우 간단하거나 코드에 문법 오류가 있습니다. 도와 드릴까요?
보면 독립되어있다. 더 많은 것은, @npit 프레임 워크를 사용하여 제안하므로 개발이 쉬워진다 : Jersey (https://jersey.java.net/), RESTEasy (http://resteasy.jboss.org/) ... – russellhoff