Hi Kasun,

I am not getting any error stack-trace.
When I am remote debugging the code, it assigns

*Method threw 'java.lang.LinkageError' exception. Cannot evaluate
org.apache.axiom.soap.impl.llom.soap11.SOAP11BodyImpl.toString()*

as the value of env.

Thanks


On Thu, Sep 17, 2015 at 12:46 PM, Kasun Bandara <kas...@wso2.com> wrote:

> Hi Chamila,
>
> Can you please attach the error stack-trace you are getting ?
>
>
> Thanks.
>
> On Thu, Sep 17, 2015 at 9:43 AM, Chamila Wijayarathna <cham...@wso2.com>
> wrote:
>
>> Hi all,
>>
>> Currently I am trying to call some methods of BPS-HumanTaskClientAPIAdmin
>> from an IS back end component. To do this I have added
>> "HumanTaskClientAPIAdmin.wsdl", "ws-humanyask-types.xsd" and "xml.xsd"
>> files to currently existing service stub at IS, which is 
>> org.wso2.carbon.identity.workflow.mgt.bps.stub
>> [1]. I took the HumanTaskClientAPIAdmin.wsdl from a latest BPS pack and
>> other 2 files from [2].
>> I newly added following task to the pom.xml of the service stub.
>>
>>
>>
>>
>>
>>
>>
>> *<java classname="org.apache.axis2.wsdl.WSDL2Java" fork="true">    <arg 
>> line="-uri src/main/resources/HumanTaskUploader.wsdl -u -uw -o 
>> target/generated-code -p org.wso2.carbon.humantask.stub.upload -ns2p 
>> http://services.deployer.humantask.carbon.wso2.org 
>> <http://services.deployer.humantask.carbon.wso2.org>=org.wso2.carbon.humantask.stub.upload,http://services.deployer.humantask.carbon.wso2.org/xsd=org.wso2.carbon.humantask.stub.upload.types
>>  
>> <http://services.deployer.humantask.carbon.wso2.org/xsd=org.wso2.carbon.humantask.stub.upload.types>"/>
>>     <classpath refid="maven.dependency.classpath"/>    <classpath 
>> refid="maven.compile.classpath"/>    <classpath 
>> refid="maven.runtime.classpath"/></java>*
>>
>> In my backend component where I need to call the methods of this stub, we
>> already had a dependency to the stub.
>>
>>
>> *<dependency>*
>>
>>
>>
>> *    <groupId>org.wso2.carbon.identity</groupId>    
>> <artifactId>org.wso2.carbon.identity.workflow.mgt.bps.stub</artifactId></dependency>*
>>
>> Then I added following code to call the service through the stub.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> *int tenantId = 
>> CarbonContext.getThreadLocalCarbonContext().getTenantId();List<BPSProfileDTO>
>>  bpsProfiles = 
>> bpsProfileDAO.listBPSProfiles(tenantId);HumanTaskClientAPIAdminStub stub = 
>> null;TSimpleQueryInput input = new TSimpleQueryInput();TStatus readyState = 
>> new TStatus();//TSimpleQueryCategory queryCategory = new 
>> TSimpleQueryCategory("ALL_TASKS", 
>> true);readyState.setTStatus("READY");input.addStatus(readyState);input.setPageSize(100000);input.setPageNumber(0);input.setSimpleQueryCategory(TSimpleQueryCategory.ALL_TASKS);for
>>  (int i = 0; i < bpsProfiles.size(); i++) {    String host = 
>> bpsProfiles.get(i).getHost();    URL servicesUrl = new URL(new URL(host), 
>> "services/HumanTaskClientAPIAdmin");    stub = new 
>> HumanTaskClientAPIAdminStub(servicesUrl.toString());    ServiceClient client 
>> = stub._getServiceClient();    authenticate(client, 
>> bpsProfiles.get(i).getUsername(), bpsProfiles.get(i).getUsername());    
>> TTaskSimpleQueryResultSet results = stub.simpleQuery(input);}*
>>
>> But when I call the stub.simpleQuery() method I am getting an error without 
>> any details and when I debugged the code, I found out that it gives a 
>> *Method threw 'java.lang.LinkageError' exception. Cannot evaluate 
>> org.apache.axiom.soap.impl.llom.soap11.SOAP11BodyImpl.toString()*
>> error at auto generated stub method while creating the SOAP envelope.
>> Following is the auto generated code for above method.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> *public  
>> org.wso2.carbon.identity.workflow.mgt.bps.stub.types.TTaskSimpleQueryResultSet
>>  simpleQuery(                    
>> org.wso2.carbon.identity.workflow.mgt.bps.stub.types.TSimpleQueryInput 
>> simpleQueryInput587)                            throws 
>> java.rmi.RemoteException                                        
>> ,org.wso2.carbon.humantask.stub.upload.IllegalStateFault                
>> ,org.wso2.carbon.humantask.stub.upload.IllegalArgumentFault{      
>> org.apache.axis2.context.MessageContext _messageContext = null;      try{    
>>    org.apache.axis2.client.OperationClient _operationClient = 
>> _serviceClient.createClient(_operations[22].getName());      
>> _operationClient.getOptions().setAction("http://docs.oasis-open.org/ns/bpel4people/ws-humantask/api/200803/simpleQuery
>>  
>> <http://docs.oasis-open.org/ns/bpel4people/ws-humantask/api/200803/simpleQuery>");
>>       _operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true); 
>>                      
>> addPropertyToOperationClient(_operationClient,org.apache.axis2.description.WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR,"&");
>>             // create a message context      _messageContext = new 
>> org.apache.axis2.context.MessageContext();            // create SOAP 
>> envelope with that payload      org.apache.axiom.soap.SOAPEnvelope env = 
>> null;            
>> org.oasis_open.docs.ns.bpel4people.ws_humantask.api._200803.SimpleQuery 
>> dummyWrappedType = null;                                            env = 
>> toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()),    
>>                                         simpleQueryInput587,                 
>>                            dummyWrappedType,                                 
>>            optimizeContent(new 
>> javax.xml.namespace.QName("http://docs.oasis-open.org/ns/bpel4people/ws-humantask/api/200803
>>  <http://docs.oasis-open.org/ns/bpel4people/ws-humantask/api/200803>",       
>>                                      "simpleQuery")));                       
>>                  //adding SOAP soap_headers 
>> _serviceClient.addHeadersToEnvelope(env);// set the message context with 
>> that soap envelope_messageContext.setEnvelope(env);// add the message contxt 
>> to the operation 
>> client_operationClient.addMessageContext(_messageContext);//execute the 
>> operation client_operationClient.execute(true);        
>> org.apache.axis2.context.MessageContext _returnMessageContext = 
>> _operationClient.getMessageContext(                                   
>> org.apache.axis2.wsdl.WSDLConstants.MESSAGE_LABEL_IN_VALUE);        
>> org.apache.axiom.soap.SOAPEnvelope _returnEnv = 
>> _returnMessageContext.getEnvelope();                                        
>> java.lang.Object object = fromOM(                                     
>> _returnEnv.getBody().getFirstElement() ,                                     
>> org.oasis_open.docs.ns.bpel4people.ws_humantask.api._200803.SimpleQueryResponse.class,
>>                                       getEnvelopeNamespaces(_returnEnv));    
>>                                                    return 
>> getSimpleQueryResponseTaskSimpleQueryResultSet((org.oasis_open.docs.ns.bpel4people.ws_humantask.api._200803.SimpleQueryResponse)object);
>>                             }catch(org.apache.axis2.AxisFault f){    
>> org.apache.axiom.om.OMElement faultElt = f.getDetail();    if 
>> (faultElt!=null){        if (faultExceptionNameMap.containsKey(new 
>> org.apache.axis2.client.FaultMapKey(faultElt.getQName(),"simpleQuery"))){    
>>         //make the fault by reflection            try{                
>> java.lang.String exceptionClassName = 
>> (java.lang.String)faultExceptionClassNameMap.get(new 
>> org.apache.axis2.client.FaultMapKey(faultElt.getQName(),"simpleQuery"));     
>>            java.lang.Class exceptionClass = 
>> java.lang.Class.forName(exceptionClassName);                
>> java.lang.Exception ex = (java.lang.Exception) exceptionClass.newInstance(); 
>>                //message class                java.lang.String 
>> messageClassName = (java.lang.String)faultMessageMap.get(new 
>> org.apache.axis2.client.FaultMapKey(faultElt.getQName(),"simpleQuery"));     
>>            java.lang.Class messageClass = 
>> java.lang.Class.forName(messageClassName);                java.lang.Object 
>> messageObject = fromOM(faultElt,messageClass,null);                
>> java.lang.reflect.Method m = exceptionClass.getMethod("setFaultMessage",     
>>                       new java.lang.Class[]{messageClass});                
>> m.invoke(ex,new java.lang.Object[]{messageObject});                          
>>       if (ex instanceof 
>> org.wso2.carbon.humantask.stub.upload.IllegalStateFault){                  
>> throw (org.wso2.carbon.humantask.stub.upload.IllegalStateFault)ex;           
>>      }                                if (ex instanceof 
>> org.wso2.carbon.humantask.stub.upload.IllegalArgumentFault){                 
>>  throw (org.wso2.carbon.humantask.stub.upload.IllegalArgumentFault)ex;       
>>          }                                throw new 
>> java.rmi.RemoteException(ex.getMessage(), ex);            
>> }catch(java.lang.ClassCastException e){               // we cannot 
>> intantiate the class - throw the original Axis fault                throw f; 
>>            } catch (java.lang.ClassNotFoundException e) {                // 
>> we cannot intantiate the class - throw the original Axis fault               
>>  throw f;            }catch (java.lang.NoSuchMethodException e) {            
>>     // we cannot intantiate the class - throw the original Axis fault        
>>         throw f;            } catch 
>> (java.lang.reflect.InvocationTargetException e) {                // we 
>> cannot intantiate the class - throw the original Axis fault                
>> throw f;            }  catch (java.lang.IllegalAccessException e) {          
>>       // we cannot intantiate the class - throw the original Axis fault      
>>           throw f;            }   catch (java.lang.InstantiationException e) 
>> {                // we cannot intantiate the class - throw the original Axis 
>> fault                throw f;            }        }else{            throw f; 
>>        }    }else{        throw f;    }    } finally {        if 
>> (_messageContext.getTransportOut() != null) {              
>> _messageContext.getTransportOut().getSender().cleanup(_messageContext);      
>>   }    }}*
>>
>> What is the issue here? Am I missing anything at creating stub? How can I
>> overcome this?
>>
>> Thank You!
>>
>> 1.
>> https://github.com/wso2/carbon-identity/tree/master/service-stubs/identity/org.wso2.carbon.identity.workflow.mgt.bps.stub
>> 2.
>> https://github.com/wso2/carbon-business-process/tree/master/service-stubs/humantask/org.wso2.carbon.humantask.stub/src/main/resources
>>
>> --
>> *Chamila Dilshan Wijayarathna,*
>> Software Engineer
>> Mobile:(+94)788193620
>> WSO2 Inc., http://wso2.com/
>>
>> _______________________________________________
>> Dev mailing list
>> Dev@wso2.org
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> Kasun Bandara
> *Software Engineer*
> Mobile : +94 (0) 718 338 360
> <%2B94%20%280%29%20773%20451194>
> kas...@wso2.com <thili...@wso2.com>
>



-- 
*Chamila Dilshan Wijayarathna,*
Software Engineer
Mobile:(+94)788193620
WSO2 Inc., http://wso2.com/
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to