Hi Andrei,

Thanks for your reply and the link to your tutorial.  I did the once over but I 
think I'll need to read it more thoroughly to fully appreciate the content.   
My research has lead me the following approach documented under 
http://cxf.apache.org/docs/jax-ws-configuration.html  "Configuring a Spring 
Client (Option 2)" which I've detailed in my previous reply to Daniel Kulp; as 
you can see very basic stuff.

Since subscribing to the CXF users mailing list, it highlights how much 
understanding is in front of me to be truly proficient with the CXF and web 
services; much of the discussion here is way over my head.  Having said that, 
it's nice to see the vibrancy of the CXF development community; very reassuring 
to someone like myself who is basically flying solo developing CXF web services 
on the NonStop.

David


From: Andrei Shakirin [via CXF] 
[mailto:[email protected]]
Sent: April 12, 2014 08:57 AM
To: David Wiseman
Subject: RE: Getting java.lang.ClassCast Exception: javax.xml.ws.Holder cannot 
be cast to java.lang.String

Hi,

If you are implementing asynchronous WS- clients/services, I tried to summarize 
CXF async approaches for SOAP services in following blog: 
http://ashakirin-cxf-async.blogspot.de/
I hope that can be helpful as well :)

Regards,
Andrei.

> -----Original Message-----
> From: David Wiseman [mailto:[hidden 
> email]</user/SendEmail.jtp?type=node&node=5742765&i=0>]
> Sent: Freitag, 11. April 2014 17:53
> To: [hidden email]</user/SendEmail.jtp?type=node&node=5742765&i=1>
> Subject: RE: Getting java.lang.ClassCast Exception: javax.xml.ws.Holder cannot
> be cast to java.lang.String
>
> Hi Andrei,
>
>
>
> Appreciate your reply.
>
>
>
> Good point... you are correct, there is nothing about CXF in my classpath (see
> below).   I suspect I should replace some or all of the Spring jars with CXF 
> jars.
> Dumb question is there any advantage to running the CXF implementation over
> the Java jaxws implementation, like CXF is faster?  I could be totally wrong 
> but I
> don't think my casting exception is related to the jaxws implementation.
>
>
>
> My feeling now is that I'm starting with the wrong  approach, i.e., right from
> the WSDL definition I'm building from.  As you can see in the code snippet
> below all parameters are mode.INOUT.  In my mind this doesn't make sense for
> an asynchronous web service client, i.e., they should be IN only hence the
> Holder class won't be involved at least not for input parameters.
>
>
>
> NonStop Server Definition...
>
> SERVER PDDWSCLNTSRV
>
>   PROCESSTYPE OSS
>
>   ARGLIST -Xabend,-Xms128m,-Xmx128m,-Xoptgc,-Xverbosegc:file=stdout,
>
>     -Xloggc:stderr,-Dsun.reflect.inflationThreshold=1,
>
>     "-agentlib:jdwp=transport=dt_socket,address=8011,server=y,suspend=n",
>
>     -Dlog4j.configuration=log4j.properties,-Dlog4j.debug,
>
>     com.telus.health.pdd.access.DbRequestHandler
>
>   AUTORESTART 0
>
>   CREATEDELAY 10 SECS
>
>   CWD /usr/health/drug/zcas
>
>   DEBUG OFF
>
>   DELETEDELAY 10 MINS
>
>   ENV
> _RLD_LIB_PATH=/usr/tandem/javaexth10/lib:/usr/health/drug/common/log4j/l
> ib
>
>   ENV
>
>     CLASSPATH=/usr/tandem/sash/spring311/dist/org.springframework.beans-
> 3.1.1.RE
>
>     LEASE.jar:/usr/tandem/sash/spring311/dist/org.springframework.context-
> 3.1.1.
>
>
> RELEASE.jar:/usr/tandem/sash/spring311/dist/org.springframework.expression-
> 3
>
>
> .1.1.RELEASE.jar:/usr/tandem/sash/spring311/dist/org.springframework.core-3.
>
>     1.1.RELEASE.jar:/usr/tandem/sash/spring311/dist/org.springframework.jdbc-
> 3.1
>
>
> .1.RELEASE.jar:/usr/tandem/sash/spring311/dist/org.springframework.transacti
>
>     on-
> 3.1.1.RELEASE.jar:/usr/tandem/sash/spring311/dist/org.springframework.asm
>
>     -
> 3.1.1.RELEASE.jar:/usr/tandem/javaexth10/lib/tdmext.jar:/usr/tandem/java/jr
>
>     e/lib/ext/util.jar:/usr/health/drug/common/commons-logging-
> 1.1.1.jar:/usr/he
>
>    alth/drug/common/commons-lang3-
> 3.1.jar:/usr/health/drug/common/log4j/lib/log
>
>     4j-
> 1.2.17.jar:/usr/health/drug/common/log4j/lib/pddlog4j2.jar:/usr/health/dr
>
>     ug/zcas:/usr/health/drug/zcas/bin/PDDWSClntMngr.jar
>
>   HIGHPIN ON
>
>   HOMETERM \DNB1.$VDRG1
>
>   LINKDEPTH 16
>
>   MAXLINKS 16
>
>   MAXSERVERS 2
>
>   NUMSTATIC 1
>
>   OWNER \DNB1.200,4
>
>   PRI 170
>
>   PROGRAM /usr/tandem/nssjava/jdk160_h60/jre/bin/java
>
>   SECURITY "N"
>
>   STDERR /usr/health/drug/zcas/pddWSsrv.err
>
>   STDOUT /usr/health/drug/zcas/pddWSsrv.out
>
>   TMF ON
>
>   VOLUME \DNB1.$OSS.CASZOBEY
>
>
>
>
>
> Web Service Client Interface...
>
> /**
>
> * This class was generated by Apache CXF 2.7.2
>
> * 2014-04-10T10:49:44.965-04:00
>
> * Generated source version: 2.7.2
>
> *
>
>  */
>
> @WebService(targetNamespace = "urn:AsyncDemo-interface", name =
> "portAsyncDemo")
>
> @XmlSeeAlso({ObjectFactory.class})
>
> public interface PortAsyncDemo {
>
>
>
>     @RequestWrapper(localName = "AsyncDemo", targetNamespace =
> "urn:cpq_tns_AsyncDemo", className =
> "com.telus.health.pdd.asyncdemo.AsyncDemo")
>
>     @ResponseWrapper(localName = "AsyncDemoResponse0",
> targetNamespace = "urn:cpq_tns_AsyncDemo", className =
> "com.telus.health.pdd.asyncdemo.AsyncDemoResponse0")
>
>     @WebMethod(operationName = "AsyncDemo")
>
>     public Response<com.telus.health.pdd.asyncdemo.AsyncDemoResponse0>
> asyncDemoAsync(
>
>         @WebParam(mode = WebParam.Mode.INOUT, name = "client_no",
> targetNamespace = "urn:cpq_tns_AsyncDemo")
>
>         javax.xml.ws.Holder<java.lang.String> clientNo,
>
>         @WebParam(mode = WebParam.Mode.INOUT, name = "group_no",
> targetNamespace = "urn:cpq_tns_AsyncDemo")
>
>         javax.xml.ws.Holder<java.lang.String> groupNo,
>
>         @WebParam(mode = WebParam.Mode.INOUT, name = "cert_no",
> targetNamespace = "urn:cpq_tns_AsyncDemo")
>
>         javax.xml.ws.Holder<java.lang.String> certNo
>
>     );
>
> David
>
>
>
>
>
> -----Original Message-----
> From: Andrei Shakirin [mailto:[hidden 
> email]</user/SendEmail.jtp?type=node&node=5742765&i=2>]
> Sent: April 11, 2014 06:40 AM
> To: [hidden email]</user/SendEmail.jtp?type=node&node=5742765&i=3>
> Subject: RE: Getting java.lang.ClassCast Exception: javax.xml.ws.Holder cannot
> be cast to java.lang.String
>
>
>
> Hi David,
>
>
>
> I do not see CXF in your stack trace. Are you sure that you have CXF jars in
> classpath?
>
> Actually it looks that you use default JDK jaxws implementation.
>
>
>
> Regards,
>
> Andrei.
>
>
>
>
>
> > -----Original Message-----
>
> > From: [hidden 
> > email]</user/SendEmail.jtp?type=node&node=5742765&i=4><mailto:[hidden 
> > email]</user/SendEmail.jtp?type=node&node=5742765&i=5>>
> [mailto:[hidden email]</user/SendEmail.jtp?type=node&node=5742765&i=6>]
>
> > Sent: Donnerstag, 10. April 2014 19:59
>
> > To: [hidden 
> > email]</user/SendEmail.jtp?type=node&node=5742765&i=7><mailto:[hidden 
> > email]</user/SendEmail.jtp?type=node&node=5742765&i=8>>
>
> > Subject: Getting java.lang.ClassCast Exception: javax.xml.ws.Holder
>
> > cannot be cast to java.lang.String
>
> >
>
> > Hi CXF Community,
>
> >
>
> > I've been working with CXF for a several months now on a NonStop server.
>
> > I've built sychronous demo clients and servlets with no problems.  I'm
>
> > now trying to build an asynchronous client but I can't seem to get
>
> > past the following ClassCastException which occurs as soon as I call...
>
> >
>
> > AsyncDemoResponse0 reply = asyncDemoResp.get();
>
> >
>
> > i.e., same point as  GreetMeSometimeResponse reply =
>
> > greetMeSomeTimeResp.get(); from example page.
>
> >
>
> > Just like in the Async Consumer example page, wsl2java generates 3
>
> > method in the web service interface class, i.e., synchronous, polling and
> callback.
>
> > When I invoke the synchronous form everything works fine.
>
> >
>
> > My thought is this is a newbie error but if this description is not
>
> > obvious, I can provide more information on advisement.
>
> >
>
> > Also note when I call my /Response<GreetMeSometimeResponse>
>
> > greetMeSomeTimeResp =
>
> >       port.greetMeSometimeAsync(System.getProperty("user.name"));
>
> > /*equivalent*, namely, (/Response<AsyncDemoResponse0> asyncDemoResp
> =
>
> > asyncDemoPort.asyncDemoAsync(_asyncDemo_clientNo,
>
> > _asyncDemo_groupNo, _asyncDemo_certNo/); no activity is detected on
>
> > the servlet (service) side, i.e., nothing appears in the web server's 
> > access.log.
>
> >
>
> > Any thought would be appreciated.
>
> >
>
> > =2014-04-10 13:50:18,485 ERROR [main] trace.event           - Web Service
>
> > invocation error (javax.xml.ws.WebServiceException:
>
> > java.lang.ClassCastException: javax.xml.ws.Holder cannot be cast to
>
> > java.lang.String).
>
> > java.util.concurrent.ExecutionException: javax.xml.ws.WebServiceException:
>
> > java.lang.ClassCastException: javax.xml.ws.Holder cannot be cast to
>
> > java.lang.String
>
> >         at
>
> > java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
>
> >         at java.util.concurrent.FutureTask.get(FutureTask.java:83)
>
> >         at
>
> > com.telus.health.pdd.business.RddsReqProcessor.processRequest(RddsReqP
>
> > roc
>
> > essor.java:691)
>
> >         at
>
> > com.telus.health.pdd.access.DbRequestHandler.processRequest(DbRequestH
>
> > an
>
> > dler.java:391)
>
> >         at
>
> > com.telus.health.pdd.access.DbRequestHandler.main(DbRequestHandler.jav
>
> > a:1
>
> > 39)
>
> > Caused by: javax.xml.ws.WebServiceException: java.lang.ClassCastException:
>
> > javax.xml.ws.Holder cannot be cast to java.lang.String
>
> >         at
>
> > com.sun.xml.internal.ws.client.AsyncInvoker.run(AsyncInvoker.java:59)
>
> >         at
>
> > com.sun.xml.internal.ws.client.AsyncResponseImpl.run(AsyncResponseImpl
>
> > .java
>
> > :73)
>
> >         at
>
> > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecu
>
> > tor.j
>
> > ava:886)
>
> >         at
>
> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:
>
> > 908)
>
> >         at java.lang.Thread.run(Thread.java:619)
>
> > Caused by: java.lang.ClassCastException: javax.xml.ws.Holder cannot be
>
> > cast to java.lang.String
>
> >         at
>
> > com.telus.health.pdd.asyncdemo.AsyncDemo$JaxbAccessorF_certNo.set(Fiel
>
> > dA
>
> > ccessor_Ref.java:45)
>
> >         at
>
> > com.sun.xml.internal.bind.v2.runtime.reflect.Accessor.setUnadapted(Acc
>
> > essor.j
>
> > ava:155)
>
> >         at
>
> >
> com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl$7.set(JAXBContextImpl.
>
> > java:926)
>
> >         at
>
> > com.sun.xml.internal.ws.client.sei.BodyBuilder$DocLit.build(BodyBuilde
>
> > r.java:2
>
> > 07)
>
> >         at
>
> > com.sun.xml.internal.ws.client.sei.BodyBuilder$JAXB.createMessage(Body
>
> > Build
>
> > er.java:88)
>
> >         at
>
> > com.sun.xml.internal.ws.client.sei.SEIMethodHandler.createRequestMessa
>
> > ge(S
>
> > EIMethodHandler.java:204)
>
> >         at
>
> > com.sun.xml.internal.ws.client.sei.AsyncMethodHandler$SEIAsyncInvoker.
>
> > do_ru
>
> > n(AsyncMethodHandler.java:147)
>
> >         at
>
> > com.sun.xml.internal.ws.client.AsyncInvoker.run(AsyncInvoker.java:54)
>
> >         ... 4 more
>
> >
>
> > Final note: the the only alteration I made to support asynchronous web
>
> > service on the service (servlet) side was the inclusion of
>
> > <async-supported>true</async-
>
> > supported> in the deplyment descriptor (web.xml).
>
> >
>
> > David
>
> >
>
> >
>
> >
>
> > --
>
> > View this message in context:
>
> > http://cxf.547215.n5.nabble.com/Getting-java-
>
> > lang-ClassCast-Exception-javax-xml-ws-Holder-cannot-be-cast-to-java-la
>
> > ng-
>
> > String-tp5742667.html
>
> > Sent from the cxf-user mailing list archive at Nabble.com.

________________________________
If you reply to this email, your message will be added to the discussion below:
http://cxf.547215.n5.nabble.com/Getting-java-lang-ClassCast-Exception-javax-xml-ws-Holder-cannot-be-cast-to-java-lang-String-tp5742667p5742765.html
To unsubscribe from Getting java.lang.ClassCast Exception: javax.xml.ws.Holder 
cannot be cast to java.lang.String, click 
here<http://cxf.547215.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5742667&code=ZGF2aWQud2lzZW1hbkB0ZWx1cy5jb218NTc0MjY2N3w2NjEwMDUyMzY=>.
NAML<http://cxf.547215.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>




--
View this message in context: 
http://cxf.547215.n5.nabble.com/Getting-java-lang-ClassCast-Exception-javax-xml-ws-Holder-cannot-be-cast-to-java-lang-String-tp5742667p5742770.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to