Tôi đang tạo một WebService trong Java bằng cách sử dụng JAXWS RI. Tệp WSDL được tạo khi triển khai ứng dụng WAR tự động. Vấn đề là tôi muốn các đối số (mà mỗi hoạt động nhận được) trong tệp WSDL có tên đáng kể, nhưng chúng xuất hiện như arg0, arg1, arg2 ... Có cách nào để xác định tên cho tham số này và không không sử dụng tên mặc định?Tên tham số trong WSDL có tên quan trọng
tôi đã thực hiện như sau:
Giao diện WebService
@WebService
@SOAPBinding(style = Style.RPC)
public interface WS2 {
@WebMethod String confirmaXML(String lrt_id);
}
Các WebService Interface Thực hiện
@WebService(endpointInterface = "vital.tde.ws2.WS2")
public class WS2Imp implements WS2{
public String confirmaXML(String lrt_id) {
String respuesta = null;
//CODE
return respuesta;
}
nắng jaxws.xml
<?xml version="1.0" encoding="UTF-8"?>
<endpoints
xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime"
version="2.0">
<endpoint name="WS2" implementation="vital.tde.ws2.WS2Imp" url-pattern="/WS2" />
</endpoints>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
<display-name>WS2</display-name>
<listener>
<listener-class>
com.sun.xml.ws.transport.http.servlet.WSServletContextListener
</listener-class>
</listener>
<servlet>
<servlet-name>WS2</servlet-name>
<servlet-class>
com.sun.xml.ws.transport.http.servlet.WSServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>WS2</servlet-name>
<url-pattern>/WS2</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>120</session-timeout>
</session-config>
</web-app>
Bạn đang tự động tạo WSDL từ lớp dịch vụ web của mình? – Mac
@Mac Có, tôi đã chỉnh sửa câu hỏi của mình để chỉ ra dựa trên những gì WSDL được tạo ra – user1084509