Service Eje 2 Web: parámetros nulos emiten con enlace HTTP
-
02-10-2019 - |
Pregunta
Estoy tratando de desarrollar un servicio web con axis2. El problema es que no consigo los parámetros pasados ??en la URL para un enlace HTTP.
Aquí está mi service.xml:
<parameter name="ServiceClass">my.package.MyClass
</parameter>
<operation name="getUser">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</operation>
<parameter name="useOriginalwsdl">true</parameter>
Aquí está mi WSDL simplificado:
<definitions ...>
<types>
<schema ...>
<complexType name="User">
<sequence>
<element name="id" type="string"/>
<element name="age" type="int"/>
</sequence>
</complexType>
<element name="getUser">
<complexType>
<sequence>
<element name="id" type="xs:string" form="unqualified" />
</sequence>
</complexType>
</element>
<element name="getUserResponse">
<complexType>
<sequence>
<element name="user" nillable="true"
type="user" />
</sequence>
</complexType>
</element>
</schema>
</types>
<message name="getUserRequest">
<part name="parameters" element="getUser" />
</message>
<message name="getUserResponse">
<part name="parameters" element="getUserResponse" />
</message>
<portType name="testPortType">
<operation name="getUser">
<input message="getUserRequest"
Action="urn:getUser" />
<output message="getUserResponse"
Action="urn:getUserResponse" />
</operation>
</portType>
<binding name="testHttpBinding" type="testPortType">
<binding verb="GET" />
<operation name="getUser">
<http:operation location="getUser" />
<input>
<http:urlEncoded />
<input>
<output>
<mime:content type="text/xml" />
</output>
</operation>
</binding>
<service name="test">
<port name="testHttpEndpoint" binding="testHttpBinding">
<address
location="http://localhost:8080/axis2/services/test.testHttpEndpoint/" />
</port>
</service>
</definitions>
y finalmente my.package.MyClass:
public final class MyClass {
public User getUser(String id) {
//Do something
}
}
Cuando llamo el servicio con la solicitud http: // urlToService / getUser id = prueba , entro en getUser (String id) pero el ID es nulo.
¿Alguien sabe cómo se supone que voy a arreglar eso?
Gracias
Solución
De hecho, yo estaba haciendo algo mal.
En MiClase, no estoy supone que debe hacer:
public User getUser(String id){
}
y
public User getUser(GetUser getUser){
}
como está escrito en el archivo WSDL.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow