Community

JBOSSWS creates WSDL incompatible with JDK Endpoint class and .Net Clients

created by Russell Ritenour in JBoss Web Services - View the full discussion


Setup:
I'm using jboss 6.0 with jbossws 3.3.0 (beta2). 
I'm creating web services using JAXWS and testing them against java, c#, SOAPUI, and perl clients.  
I'm also using the Endpoint class from the JDK as a verification step. 

 


When I annotate the web service class as follows:

 

@WebService
//@SOAPBinding(style = SOAPBinding.Style.RPC) // works with .Net/C# + JBOSS
@SOAPBinding(style=SOAPBinding.Style.DOCUMENT, parameterStyle=SOAPBinding.ParameterStyle.WRAPPED, use=Use.LITERAL)
public class ConfigEndpoint implements ConfigSvcIF {

 

... stuff deleted ...
}

 

 

I also created the following class...

import javax.xml.ws.Endpoint;

 

public final class ConfigService {
      
    public static void main(String[] args) {
        Endpoint.publish("http://localhost:8000/cfg", new ConfigEndpoint());
    }

 

}

 

 

 

I get the following behavior...

 

The WSDL generated by the reference implementation (the Endpoint class) works fine with all clients.  However, the WSDL generated by JBOSSWS
won't work with the .Net client (SOAPUI and perl both still work).


When I change the binding style to RPC, all the clients work using the JBOSSWS generated wsdl.

 

So the question...   What can I do in the code (and/or) the configuration of JBOSSWS so that it generates a WSDL compatible with the reference implementation or, barring that, a WSDL that can be consumed by all clients?  While I can concede that the wsdl.exe may be "broken" it does work with the ConfigService class so my suspicion is the my jbossws installation is incorrectly configured.

 

Thank you in advance 

Reply to this message by going to Community

Start a new discussion in JBoss Web Services at Community