[jboss-user] [JBossWS] - Error accessing Web service

Mehdi.b do-not-reply at jboss.com
Tue Jul 3 14:37:59 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 jboss-user mailing list