J'ai du code qui semble être correct sur la base de ce que je peux trouver, mais la sortie crachée n'indique pas qu'il utilise FastInfoset. Ma compréhension est l'acceptation devrait indiquer qu'il peut accepter Fastinfoset et la réponse l'utiliserait réellement, signifiant que ce n'est pas text/xml comme type de réponse. Une idée de ce que je fais mal? J'ai récuré avec Google et j'ai du mal à trouver beaucoup de détails sur l'utilisation de FastInfoset.Comment utiliser FastInfoset avec JAXWS?
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.getInInterceptors().add(new LoggingInInterceptor());
factory.getOutInterceptors().add(new LoggingOutInterceptor());
factory.setServiceClass(C360Server.class);
factory.setAddress("http://localhost:8501/cxfcontroller/cl_v5");
C360Server client = (C360Server)factory.create();
((BindingProvider)client).getRequestContext().put(
"com.sun.xml.ws.client.ContentNegotiation", "optimistic");
C360Request requestTrans = new C360Request();
... code to fill in the request ...
C360Response response = client.findContacts(requestTrans);
L'exploitation forestière ne semble pas indiquer FastInfoset est même tenté cependant:
INFO: Outbound Message
---------------------------
ID: 1
Address: http://localhost:8501/cxfcontroller/cl_v5
Encoding: UTF-8
Content-Type: text/xml
Headers: {SOAPAction=[""], Authorization=[Basic cWFfc3VwZXI6cWFfc3VwZXI=], Accept=[*/*]}
Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns1:findContacts>...bunch of xml deleted for brevity...</ns1:findContacts></soap:Body></soap:Envelope>
--------------------------------------
May 17, 2010 3:23:45 PM org.apache.cxf.interceptor.LoggingInInterceptor logging
INFO: Inbound Message
----------------------------
ID: 1
Response-Code: 200
Encoding: UTF-8
Content-Type: text/xml; charset=utf-8
Headers: {content-type=[text/xml; charset=utf-8], Content-Length=[611], Server=[Jetty(6.1.x)]}
Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns1:findContactsResponse>...bunch of xml spew deleted for brevity...</ns1:findContactsResponse></soap:Body></soap:Envelope>
--------------------------------------
Toutes les idées que je fais mal? Même si le serveur ne supportait pas FastInfoset, je devrais toujours voir la tentative de négociation dans la requête, non?