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.