Thanks Glenn for the quick and developed answer, I do appreciate a lot since
I'm a newbie concerning web services and particularly jax-ws.

Concerning your remarks : 

1) I think it's doc/literal, here's a part of binding section 

        <wsdl:binding name="StructureServicesSoap"
type="tns:StructureServicesSoap">
                <soap:binding transport="http://schemas.xmlsoap.org/soap/http";
style="document" />
                <wsdl:operation name="GetMailAddress">
                        <soap:operation
soapAction="http://anpe.fr/DirectoryServices/GetMailAddress";
style="document" />
                        <wsdl:input>
                                <soap:body use="literal" />
                                <soap:header 
message="tns:GetMailAddressStructureMailAddressHeader"
part="StructureMailAddressHeader"
                                        use="literal" />
                        </wsdl:input>
                        <wsdl:output>
                                <soap:body use="literal" />
                                <soap:header 
message="tns:GetMailAddressStructureMailAddressHeader"
part="StructureMailAddressHeader"
                                        use="literal" />
                        </wsdl:output>
                </wsdl:operation>

Can you confirm that it should be possible to consume this web service with
a jax-ws client ?
I have uploaded the complete wsdl (hope you can have a look at it, it's the
first time I'm using the upload facility in this mailing list). 

For 2) I need to have a look at your work, I'm using maven2 to generate my
web service client, I hope I can use your approach with maven.

Finally, here's a the code I have written to call the web service : 

the JUnit test part

   public void testGetMailAddress() throws TechniqueException {
      String mailStructure =
getStructureServices().getMailAddress(APPLICATION_NOM, "92053");
      assertEquals("[EMAIL PROTECTED]", mailStructure);
   }

Where getStructureServices() calls the following code (I've just put the
interesting part for clarity sake)

// I need to access StructureServices in HTTPS, note sure if it's the right
way but that's what I've found with googling ...  
Authenticator.setDefault(new AnpeAuthenticator());
// instanciate the web service client generated by codegen maven plugin
fr.anpe.directoryservices.StructureServices structureServices = new
fr.anpe.directoryservices.StructureServices();
// get web service port called StructureServicesSoap
structureServicesWebServiceConsumer =
structureServices.getStructureServicesSoap();
   
One last thing, in my wsdl, I have the same name (StructureServicesSoap) for
a port and a binding, is that correct ? 

binding section : 
        <wsdl:binding name="StructureServicesSoap"
type="tns:StructureServicesSoap">
                <soap:binding transport="http://schemas.xmlsoap.org/soap/http";
style="document" />
                <wsdl:operation name="GetInformation">
                        <soap:operation
soapAction="http://anpe.fr/DirectoryServices/GetInformation";
style="document" />

port section : 
        <wsdl:service name="StructureServices">
                <wsdl:port name="StructureServicesSoap"
binding="tns:StructureServicesSoap">
                        <soap:address
location="https://annuairews-int.tempo.anpe.fr/directoryservices/structureservices.asmx";
/>
                </wsdl:port>

Regards,

Joel   
   

Glen Mazza-2 wrote:
> 
> More detective work is needed here:
> 
> 1.)  Are you using an rpc/encoded web service, instead of doc/lit or
> rpc/lit (Can you show us a part of the wsdl:binding section, that's
> where you can determine that)--if so, that is not supported by jax-ws.
> For rpc/encoded, you'll need to use the Dispatch object or SAAJ instead.
> 
> An RPC/encoded sample using Dispatch object is here:
> http://www.jroller.com/gmazza/date/20071102
> 
> 2.)  You may wish to use both Metro and CXF when working with SOAP
> clients, because, depending on whether or not it fails on both stacks,
> that helps pinpoint if the problem is (1) with the web service stack or
> (2) your own code.  If (2), frequently different error messages are
> given by the two stacks, which can help greatly in troubleshooting the
> problem with the client code.
> 
> The "run-client" target of step 5 here[1] shows how this can be done.
> All that is needed is to switch the <path refid.../> between
> "cxf.classpath" and "metro.classpath" to activate the different web
> service stack.  Recompiling is not necessary, because JAX-WS artifacts
> are interoperable between web service stacks.
> 
> [1] http://www.jroller.com/gmazza/date/20070817
> 
> HTH,
> Glen
> 
> Am Montag, den 12.11.2007, 04:44 -0800 schrieb JoCosti:
>> Hi there,
>> 
>> I'm using 2.0.2 version to generate the client side of an existing web
>> service. 
>> I have already managed to write a client with another framework using
>> jax-rpc technology, I nowwant to migrate to jax-ws with CXF framework
>> 
>> When running the client web service, I'm facing the following exception :
>> 
> 
> 
> 
> 
http://www.nabble.com/file/p13706890/structureservices.wsdl
structureservices.wsdl 
-- 
View this message in context: 
http://www.nabble.com/classCastExcception-in-web-service-client-generated-with-CXF-tf4790840.html#a13706890
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to