java - jax - servicios web soap
No se pueden generar los stubs/esqueletos de java del WSDL (3)
Ese es un problema con tu instalación.
Descargue y verifique los complementos axis2 y eclipse de axis2, asegúrese de haber configurado las rutas de clase AXIS2_HOME.
A veces deja de funcionar para mí también, y luego tengo que ir y volver a instalar todo. No se moleste en hacer informes de errores a Eclipse o Apache, siempre están cerrados como "WORKSFORME".
Pasos para producir código desde su wsdl:
- Crea un proyecto web dinámico.
- Crea tu archivo wsdl.
- Haga clic derecho en su archivo wsdl, seleccione Servicios web -> Generar Java Bean Skeleton
- Haga clic en Finalizar
Las bibliotecas, las facetas y el código generado de Axis2 se agregarán automágicamente a su proyecto y no habrá problemas de compilación.
He escrito un WSDL para generar los Stubs y el esqueleto, pero mis esqueletos no se generan en el eclipse. Estoy usando la versión Helios de Eclipse.
¿Alguien puede decir cuál es el problema con WSDL?
Quiero usar Axis 2. Intenté generar el esqueleto usando wsdl2java también, pero da problemas de compilación en las clases generadas. No puedo adjuntar el archivo aquí, así que lo pegaré aquí.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions xmlns:impl="http://DefaultNamespace"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
name="Test" targetNamespace="http://DefaultNamespace">
<wsdl:types>
<xsd:schema elementFormDefault="qualified"
targetNamespace="http://DefaultNamespace" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://xml.apache.org/xml-soap" />
<xsd:element name="serviceMethod">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="vo" type="impl:MyVo" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="MyVo">
<xsd:sequence>
<xsd:element name="name" nillable="false" type="xsd:string" />
<xsd:element name="params" nillable="true"
type="apachesoap:Map" />
</xsd:sequence>
</xsd:complexType>
<xsd:element name="serviceMethodResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="serviceMethodReturn" type="impl:MyVo" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<xsd:schema elementFormDefault="qualified"
targetNamespace="http://xml.apache.org/xml-soap" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://DefaultNamespace" />
<xsd:complexType name="mapItem">
<xsd:sequence>
<xsd:element name="key" nillable="true" type="xsd:anyType" />
<xsd:element name="value" nillable="true" type="xsd:anyType" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Map">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0"
name="item" type="apachesoap:mapItem" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</wsdl:types>
<wsdl:message name="serviceMethodRequest">
<wsdl:part element="impl:serviceMethod" name="parameters" />
</wsdl:message>
<wsdl:message name="serviceMethodResponse">
<wsdl:part element="impl:serviceMethodResponse" name="parameters" />
</wsdl:message>
<wsdl:portType name="Test">
<wsdl:operation name="serviceMethod">
<wsdl:input message="impl:serviceMethodRequest" name="serviceMethodRequest" />
<wsdl:output message="impl:serviceMethodResponse" name="serviceMethodResponse" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="TestSOAP" type="impl:Test">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="serviceMethod">
<soap:operation soapAction="http://DefaultNamespace/serviceMethod" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="Test">
<wsdl:port binding="impl:TestSOAP" name="MyWebService">
<soap:address location="http://localhost:8080/Temp/services/MyService" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Yo tuve el mismo problema. Creo que la estructura de carpetas maven lo está causando. Creé un nuevo proyecto sin maven y funcionó. Se agregó maven luego. También verifique las carpetas de origen en "Java Build Path". Si falta, deberás agregarlo.
Estaba enfrentando el mismo problema, pero ahora ha sido resuelto. El problema es que si tienes un método que ''LANZA ALGÚN TIPO DE EXCEPCIÓN'', entonces causará el problema. Por lo tanto, en lugar de arrojar el error, intente utilizar la instrucción de bloqueo try-catch.