cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Florian Popescu <florian.pope...@gmail.com>
Subject CXF throws an UnsupportedOperationException
Date Fri, 15 Mar 2013 20:07:25 GMT
We have this web service that has a few methods that work just fine but
when trying to invoke this particular one I get the stack trace below:

Entering...

Mar 15, 2013 4:44:51 PM
org.apache.cxf.service.factory.ReflectionServiceFactoryBean
buildServiceFromWSDL

INFO: Creating Service {
http://user.ws.services.acs.mypackage}UserServiceManagerService<http://user.ws.services.acs.adp.com%7DUserServiceManagerService>from
WSDL: jar:file:xxxxx

-webservices-client-1.0.jar!/wsdl/UserServiceManagerService.wsdl

Mar 15, 2013 4:44:51 PM org.apache.cxf.phase.PhaseInterceptorChain
doDefaultLogging

WARNING: Interceptor for {
http://user.ws.services.acs.mypackage}UserServiceManagerService#{http://user.ws.services.acs.mypackage}getUserForCoherence<http://user.ws.services.acs.adp.com%7DUserServiceManagerService#%7Bhttp://user.ws.services.acs.adp.com%7DgetUserForCoherence>has
thrown exception, unwinding now

java.lang.UnsupportedOperationException

        at java.util.AbstractMap.put(AbstractMap.java:186)

        at
org.apache.cxf.binding.soap.interceptor.SoapPreProtocolOutInterceptor.setSoapAction(SoapPreProtocolOutInterceptor.java:122)

        at
org.apache.cxf.binding.soap.interceptor.SoapPreProtocolOutInterceptor.handleMessage(SoapPreProtocolOutInterceptor.java:63)

        at
org.apache.cxf.binding.soap.interceptor.SoapPreProtocolOutInterceptor.handleMessage(SoapPreProtocolOutInterceptor.java:47)

        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)

        at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:530)

        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:463)

        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:366)

        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:319)

        at
org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)

        at
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:133)

        at $Proxy56.getUserForCoherence(Unknown Source)

        at
mypackage.acs.services.ws.WSACSUserManagerService.getUser(WSACSUserManagerService.java:161)

        at
mypackage.acs.services.ws.ACSWebServiceUserFacade.getUserForCoherence(ACSWebServiceUserFacade.java:76)

        at mypackage.test.NewServlet.doGet(NewServlet.java:41)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)

        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)

        at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)

        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)

        at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)

        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)

        at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)

        at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)

        at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)

        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

        at java.lang.Thread.run(Thread.java:662)

ERROR WSACSUserManagerService -
mypackage.acs.services.ws.WSACSUserManagerService.getUser: Fault string,
and possibly fault code, not set - SOAPFaultException caught:

javax.xml.ws.soap.SOAPFaultException: Fault string, and possibly fault
code, not set

        at
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:155)

        at $Proxy56.getUserForCoherence(Unknown Source)

        at
mypackage.acs.services.ws.WSACSUserManagerService.getUser(WSACSUserManagerService.java:161)

        at
mypackage.acs.services.ws.ACSWebServiceUserFacade.getUserForCoherence(ACSWebServiceUserFacade.java:76)

        at mypackage.test.NewServlet.doGet(NewServlet.java:41)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)

        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)

        at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)

        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)

        at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)

        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)

        at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)

        at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)

        at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)

        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

        at java.lang.Thread.run(Thread.java:662)

Caused by: java.lang.UnsupportedOperationException

        at java.util.AbstractMap.put(AbstractMap.java:186)

        at
org.apache.cxf.binding.soap.interceptor.SoapPreProtocolOutInterceptor.setSoapAction(SoapPreProtocolOutInterceptor.java:122)

        at
org.apache.cxf.binding.soap.interceptor.SoapPreProtocolOutInterceptor.handleMessage(SoapPreProtocolOutInterceptor.java:63)

        at
org.apache.cxf.binding.soap.interceptor.SoapPreProtocolOutInterceptor.handleMessage(SoapPreProtocolOutInterceptor.java:47)

        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)

        at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:530)

        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:463)

        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:366)

        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:319)

        at
org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)

        at
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:133)

        ... 22 more

mypackage.util.exceptions.ServiceException: Fault string, and possibly
fault code, not set

        at
mypackage.acs.services.ws.WSACSUserManagerService.getUser(WSACSUserManagerService.java:172)

        at
mypackage.acs.services.ws.ACSWebServiceUserFacade.getUserForCoherence(ACSWebServiceUserFacade.java:76)

        at mypackage.test.NewServlet.doGet(NewServlet.java:41)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)

        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)

        at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)

        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)

        at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)

        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)

        at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)

        at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)

        at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)

        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

        at java.lang.Thread.run(Thread.java:662)

mypackage.util.exceptions.ServiceException: Fault string, and possibly
fault code, not set


I am at a loss since this is the only method that does not work in the
whole web service.


The method signature is:

@WebMethod
   public UserForCoherence getUserForCoherence(@WebParam(name =
"clientOid") String clientOid, @WebParam(name = "userOid") String userOid)
throws ServiceException {


Extract from the WSDL file:


<xs:element name="getUserForCoherence" type="tns:getUserForCoherence"/>

<xs:element name="getUserForCoherenceResponse"
type="tns:getUserForCoherenceResponse"/>
...
<xs:complexType name="getUserForCoherence">
    <xs:sequence>
      <xs:element minOccurs="0" name="clientOid" type="xs:string"/>
      <xs:element minOccurs="0" name="userOid" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
<xs:complexType name="getUserForCoherenceResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="return" type="ns3:UserForCoherence"/>
    </xs:sequence>
  </xs:complexType>
...

<xs:element name="UserForCoherence" type="tns:UserForCoherence"/>
...
<xs:complexType name="UserForCoherence">
    <xs:sequence>
      <xs:element minOccurs="0" name="clientOid" type="xs:string"/>
      <xs:element minOccurs="0" name="userOid" type="xs:string"/>
      <xs:element minOccurs="0" name="isiUserId" type="xs:string"/>
      <xs:element minOccurs="0" name="firstName" type="xs:string"/>
      <xs:element minOccurs="0" name="lastName" type="xs:string"/>
      <xs:element minOccurs="0" name="email" type="xs:string"/>
      <xs:element minOccurs="0" name="department" type="xs:string"/>
      <xs:element minOccurs="0" name="job" type="xs:string"/>
      <xs:element minOccurs="0" name="location" type="xs:string"/>
      <xs:element minOccurs="0" name="langCode" type="xs:string"/>
      <xs:element minOccurs="0" name="payGroup" type="xs:string"/>
      <xs:element minOccurs="0" name="myOIDType" type="xs:string"/>
      <xs:element minOccurs="0" name="employeeId" type="xs:string"/>
      <xs:element minOccurs="0" name="associateId" type="xs:string"/>
      <xs:element minOccurs="0" name="companyCode" type="xs:string"/>
      <xs:element maxOccurs="unbounded" minOccurs="0" name="groups"
nillable="true" type="ns1:Group"/>
      <xs:element maxOccurs="unbounded" minOccurs="0" name="permissions"
nillable="true" type="xs:string"/>
      <xs:element maxOccurs="unbounded" minOccurs="0" name="resources"
nillable="true" type="ns1:Resource"/>
      <xs:element maxOccurs="unbounded" minOccurs="0" name="listGroupOids"
nillable="true" type="xs:long"/>
      <xs:element maxOccurs="unbounded" minOccurs="0"
name="entitledServices" nillable="true" type="xs:long"/>
      <xs:element minOccurs="0" name="managerAOID" type="xs:string"/>
      <xs:element name="employee" type="xs:boolean"/>
      <xs:element name="practitioner" type="xs:boolean"/>
      <xs:element name="manager" type="xs:boolean"/>
      <xs:element name="supervisor" type="xs:boolean"/>
      <xs:element maxOccurs="unbounded" minOccurs="0" name="delegations"
nillable="true" type="tns:DelegationActivityForCache"/>
    </xs:sequence>
  </xs:complexType>
<xs:complexType name="DelegationActivityForCache">
    <xs:sequence>
      <xs:element minOccurs="0" name="clientOid" type="xs:string"/>
      <xs:element minOccurs="0" name="delegatedFromUserOid"
type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
...

There are more types in the WSDL but I just wanted to provide a high level
of what is going on.

I am not sure if this is a bug or I am doing something wrong.

Thanks!

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message