error runtime modeler error: Wrapper class ... is not found
fantagir Oct 5, 2007 5:24 AMHi!
I'm developing a Client of a WebService and when a I run it I've the next error:
com.sun.xml.ws.model.RuntimeModelerException: runtime modeler error: Wrapper class service.jaxws.DarCuenta is not found. Have you run APT to generate them?
My environment is:
Eclipse and JbossIDE for Eclipse
Jboss 4.0.5 GA
JDK 1.5
JWSDP 2.0
My WSDL:
<?xml version="1.0" encoding="UTF-8"?> <definitions name='Contar' targetNamespace='urn:service' xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:ns1='urn:service.types' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:tns='urn:service' xmlns:xsd='http://www.w3.org/2001/XMLSchema'> <types> <schema targetNamespace='urn:service.types' xmlns='http://www.w3.org/2001/XMLSchema' xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:tns='urn:service.types' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'> <complexType name='DatePalabra'> <sequence> <element name='longitud' nillable='true' type='string'/> <element name='palabra' nillable='true' type='string'/> </sequence> </complexType> </schema> </types> <message name='IContar_darCuenta'> <part name='String_1' type='xsd:string'/> </message> <message name='IContar_darCuentaResponse'> <part name='result' type='ns1:DatePalabra'/> </message> <portType name='IContar'> <operation name='darCuenta' parameterOrder='String_1'> <input message='tns:IContar_darCuenta'/> <output message='tns:IContar_darCuentaResponse'/> </operation> </portType> <binding name='IContarBinding' type='tns:IContar'> <soap:binding style='rpc' transport='http://schemas.xmlsoap.org/soap/http'/> <operation name='darCuenta'> <soap:operation soapAction=''/> <input> <soap:body namespace='urn:service' use='literal'/> </input> <output> <soap:body namespace='urn:service' use='literal'/> </output> </operation> </binding> <service name='Contar'> <port binding='tns:IContarBinding' name='IContarPort'> <soap:address location='REPLACE_WITH_ACTUAL_URL'/> </port> </service> </definitions>
My code of client:
Main:
package main; import java.net.URL; import javax.xml.namespace.QName; import javax.xml.ws.Service; import service.DatePalabra; import service.IContar; import com.lasalle.util.resources.CollectionProperties; public class MainDevPalabra { public static void main( String[] args ) throws Exception { if( args.length < 1 ) { System.out.println( "Usage: Palabra name" ); System.exit( 0 ); } String argument = args[ 0 ]; DatePalabra dp = new DatePalabra(); //CollectionProperties propietats = new CollectionProperties(); String urlstr = CollectionProperties.getPropiedad("serviceD.url"); String nameServiceStr = CollectionProperties.getPropiedad("serviceD.name"); String namespaceServiceStr = CollectionProperties.getPropiedad("serviceD.namespace"); System.out.println( "Contacting webservice at " + urlstr ); URL url = new URL(urlstr); //se indican el namespace en el que se encuentra el servicio y su nombre //(esto se puede ver en el WSDL) QName qname = new QName(namespaceServiceStr, nameServiceStr); Service service = Service.create(url, qname); System.out.println( "After create service" ); IContar age = ( IContar) service.getPort( IContar.class ); System.out.println( "After getPort" ); System.out.println( "age.age(" + argument + ")" ); dp = (DatePalabra) age.darCuenta(argument); System.out.println( "output longitud:" + dp.getLongitud() ); System.out.println( "output palabra:" + dp.getPalabra() ); } }
Interface of the service:
package service; import java.rmi.RemoteException; import javax.jws.WebMethod; import javax.jws.WebResult; import javax.jws.WebService; import javax.jws.WebParam; @WebService( name="IContar", // wsdl:portType targetNamespace="urn:service" //wsdl:targetNamespace ) public interface IContar extends java.rmi.Remote { //@WebMethod(operationName="darCuenta") @WebMethod //@WebResult(name="IContar_darCuentaResponse", partName="result") //public DatePalabra darCuenta(@WebParam(name = "String_1") String name) throws RemoteException; public DatePalabra darCuenta(String name) throws RemoteException; }
Can you help me??
Thanks