[jbossws-users] [JBossWS] - Error accessing Web service
Mehdi.b
do-not-reply at jboss.com
Tue Jul 3 14:38:04 EDT 2007
Hello !
I'm french, so excuse my possible langage faults ! :)
I created an EJB 3 session bean and deployed it as a web service. Everything looks working great. I've tried it in a Web Service Explorer.
This is my WSDL
| ?
| <definitions name="HelloBeanService" targetNamespace="http://ws.cdam.clemessy.com/jaws">
| ?
| <types>
| ?
| <schema elementFormDefault="qualified" targetNamespace="http://ws.cdam.clemessy.com/jaws">
| ?
| <complexType name="hello">
| ?
| <sequence>
| <element name="String_1" nillable="true" type="string"/>
| </sequence>
| </complexType>
| ?
| <complexType name="helloResponse">
| ?
| <sequence>
| <element name="result" nillable="true" type="string"/>
| </sequence>
| </complexType>
| <element name="hello" type="tns:hello"/>
| <element name="helloResponse" type="tns:helloResponse"/>
| </schema>
| </types>
| ?
| <message name="HelloBean_helloResponse">
| <part element="tns:helloResponse" name="result"/>
| </message>
| ?
| <message name="HelloBean_hello">
| <part element="tns:hello" name="parameters"/>
| </message>
| ?
| <portType name="HelloBean">
| ?
| <operation name="hello">
| <input message="tns:HelloBean_hello"/>
| <output message="tns:HelloBean_helloResponse"/>
| </operation>
| </portType>
| ?
| <binding name="HelloBeanBinding" type="tns:HelloBean">
| <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
| ?
| <operation name="hello">
| <soap:operation soapAction=""/>
| ?
| <input>
| <soap:body use="literal"/>
| </input>
| ?
| <output>
| <soap:body use="literal"/>
| </output>
| </operation>
| </binding>
| ?
| <service name="HelloBeanService">
| ?
| <port binding="tns:HelloBeanBinding" name="HelloBeanPort">
| <soap:address location="http://bureau:8080/EJBWS2/HelloBean"/>
| </port>
| </service>
| </definitions>
|
The problem comes with the client, here is the code
| URL wsdlLocation;
|
| try {
|
| wsdlLocation = new URL("http://bureau:8080/EJBWS2/HelloBean?wsdl");
| QName serviceNameQ = new QName( "http://ws.cdam.clemessy.com/jaws", "HelloBeanService");
|
| // dynamic service usage
| Service service = Service.create(wsdlLocation, serviceNameQ);
|
| //String namespace = "http://ws.cdam.clemessy.com/jaws";
| //String portName = "HelloBeanPort";
| //QName portQN = new QName(namespace, portName);
|
| //HelloBean proxy = service.getPort(portQN, HelloBean.class);
| HelloBean proxy = service.getPort(HelloBean.class);
| //HelloBean proxy = service.getPort(serviceNameQ,HelloBean.class);
|
| /*
| Iterator<QName> itPort = service.getPorts(); // Iterate trough the ports
| while (itPort.hasNext()) { // For each port in WSDL
| QName port = itPort.next();
| System.out.println("port : "+port);
| HelloBean proxy = service.getPort(port,HelloBean.class);
| }*/
|
|
|
| } catch (MalformedURLException ex) {
| ex.printStackTrace();
| }
|
and i have the following error
| Exception in thread "main" No corresponding port found for the service interface com.clemessy.cdam.ws.HelloBean in http://bureau:8080/EJBWS2/HelloBean?wsdl
| at com.sun.xml.ws.client.ServiceContextBuilder.processAnnotations(ServiceContextBuilder.java:110)
| at com.sun.xml.ws.client.ServiceContextBuilder.completeServiceContext(ServiceContextBuilder.java:85)
| at com.sun.xml.ws.client.WSServiceDelegate.processServiceContext(WSServiceDelegate.java:114)
| at com.sun.xml.ws.client.WSServiceDelegate.createEndpointIFBaseProxy(WSServiceDelegate.java:266)
| at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:162)
| at javax.xml.ws.Service.getPort(Service.java:120)
| at clientejbws2.Main.main(Main.java:48)
|
If someone has a solution, I would be grateful !
Thanks in advance.
Best regards.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4060102#4060102
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4060102
More information about the jbossws-users
mailing list