ClassCastException with Axis Web Service
I have a web service running on Tomcat 5.0 with the attached WSDL. I was able to deploy my BPEL process but got an ClassCastException error on invoking the operation getAccessPointsProtocols. Do you have any ideas? I am using version v2.0.10.
Thanks a lot..
ahoy
Maik Thiele
TU Dresden
wsdl:
<?xml version="1.0" encoding="UTF-8" ?>
- <wsdl:definitions targetNamespace="http://localhost:8080/axis/services/Manager" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost:8080/axis/services/Manager" xmlns:intf="http://localhost:8080/axis/services/Manager" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:message name="reinitializeResponse" />
- <wsdl:message name="getAccessPointsProtocolsResponse">
<wsdl:part name="getAccessPointsProtocolsReturn" type="xsd:string" />
</wsdl:message>
<wsdl:message name="getAccessPointsProtocolsRequest" />
<wsdl:message name="reinitializeRequest" />
- <wsdl:portType name="Manager">
- <wsdl:operation name="reinitialize">
<wsdl:input message="impl:reinitializeRequest" name="reinitializeRequest" />
<wsdl:output message="impl:reinitializeResponse" name="reinitializeResponse" />
</wsdl:operation>
- <wsdl:operation name="getAccessPointsProtocols">
<wsdl:input message="impl:getAccessPointsProtocolsRequest" name="getAccessPointsProtocolsRequest" />
<wsdl:output message="impl:getAccessPointsProtocolsResponse" name="getAccessPointsProtocolsResponse" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:binding name="ManagerSoapBinding" type="impl:Manager">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="reinitialize">
<wsdlsoap:operation soapAction="" />
- <wsdl:input name="reinitializeRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://wsfi.webservices.org" use="encoded" />
</wsdl:input>
- <wsdl:output name="reinitializeResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/services/Manager" use="encoded" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="getAccessPointsProtocols">
<wsdlsoap:operation soapAction="" />
- <wsdl:input name="getAccessPointsProtocolsRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://wsfi.webservices.org" use="encoded" />
</wsdl:input>
- <wsdl:output name="getAccessPointsProtocolsResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/services/Manager" use="encoded" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:service name="ManagerService">
- <wsdl:port binding="impl:ManagerSoapBinding" name="Manager">
<wsdlsoap:address location="http://localhost:8080/axis/services/Manager" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>bpel process:
<process name="testWSFI" targetNamespace="http://acm.org/samples" suppressJoinFailure="yes" xmlns:tns="http://acm.org/samples" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:bpelx="http://schemas.oracle.com/bpel/extension" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:cx="http://schemas.collaxa.com/xpath/extension" xmlns:Manager="http://localhost:8080/axis/services/Manager">
<partnerLinks>
<partnerLink name="client" partnerLinkType="tns:testWSFI" myRole="testWSFIProvider"/>
<partnerLink name="WSFIService" partnerLinkType="Manager:ManagerLink" partnerRole="ManagerProvider"/>
</partnerLinks>
<variables>
<variable name="input" messageType="tns:testWSFIRequestMessage"/>
<variable name="output" messageType="tns:testWSFIResponseMessage"/>
<variable name="in" messageType="Manager:getAccessPointsProtocolsRequest"/>
<variable name="out" messageType="Manager:getAccessPointsProtocolsResponse"/>
<variable name="reinitReq" messageType="Manager:reinitializeRequest"/>
<variable name="reinitResp" messageType="Manager:reinitializeResponse"/>
</variables>
<sequence name="main">
<receive name="receiveInput" partnerLink="client" portType="tns:testWSFI" operation="process" variable="input" createInstance="yes"/>
<assign name="createIn">
<copy>
<from variable="input" part="payload" query="/tns:testWSFIRequest/tns:input">
</from>
<to variable="in"/>
</copy>
</assign>
<invoke name="reinit" partnerLink="WSFIService" portType="Manager:Manager" operation="reinitialize" inputVariable="reinitReq" outputVariable="reinitResp"/>
<invoke name="getAccessPoints" partnerLink="WSFIService" portType="Manager:Manager" operation="getAccessPointsProtocols" inputVariable="in" outputVariable="out"/>
<assign name="createOut">
<copy>
<from variable="out" part="getAccessPointsProtocolsReturn">
</from>
<to variable="output" part="payload" query="/tns:testWSFIResponse/tns:result"/>
</copy>
</assign>
<reply name="replyOutput" partnerLink="client" portType="tns:testWSFI" operation="process" variable="output"/>
</sequence>
</process>
When I switched all loggers on I got the stack trace:
java.lang.ClassCastException
at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:167)
at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:177)
at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:3301)
at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1698)
at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:75)
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:86)
at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:139)
at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5375)
at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:1226)
at com.collaxa.cube.engine.bean.CubeEngineBean.createAndInvoke(CubeEngineBean.java:117)
at com.collaxa.cube.engine.bean.CubeEngineBean.syncCreateAndInvoke(CubeEngineBean.java:140)
at ICubeEngineBean_StatelessSessionBeanWrapper2.syncCreateAndInvoke(ICubeEngineBean_StatelessSessionBeanWrapper2.java:486)
at com.oracle.bpel.client.dispatch.BaseDispatcherService.initialRequestAnyType(BaseDispatcherService.java:843)
at com.oracle.bpel.client.dispatch.BaseDispatcherService.initialRequest(BaseDispatcherService.java:733)
at com.oracle.bpel.client.dispatch.BaseDispatcherService.request(BaseDispatcherService.java:272)
at com.oracle.bpel.client.dispatch.DispatcherService.request(DispatcherService.java:73)
at com.oracle.bpel.client.dispatch.DeliveryService.request(DeliveryService.java:81)
at com.oracle.bpel.client.dispatch.DeliveryService.request(DeliveryService.java:59)
at _ngDoInitiate._jspService(_ngDoInitiate.java:157)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:347)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:509)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:413)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:765)
at com.evermind.server.http.ServletRequestDispatcher.include(ServletRequestDispatcher.java:121)
at com.evermind.server.http.EvermindPageContext.include(EvermindPageContext.java:267)
at _displayProcess._jspService(_displayProcess.java:261)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:347)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:509)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:413)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:765)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:317)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
at java.lang.Thread.run(Thread.java:534)
Similar Messages
-
Invoking a AXIS Web Service with a Java object as input argument
Hi
I've been trying to execute a bpel process that invokes a web service deployed through axis.
This web service takes a java object as input argument as opposed to data types that are directly mapped to java types through the SOAP engine.
I deployed and tested the service outside of BPEL using a test client class. Everything works well.
When I try to configure the "Assign" and "Invoke" activities so that service can be invoked, I cannot see the data structure through the variable picker and I see the following message:
"The element {urn:ComplexTypeWebService}TimeSheetBean is not know to the schema container. Perhaps a schema file that uses it needs to include or import its definition.There mat also be an XML schema issue (non resolvable schema) which prevents {urn:ComplexTypeWebService}TimeSheetBean from being seen by the schema processor."
Is there any example that demonstrates how to invoke an axis web service in such scenario? What am I doing wrong?
Please, let me know.The passing of Java objects in and out of a web service is NOT supported. variables must be xml documents defined by a XML schema. In my opinion, missing Java object and WSDL is not a good idea. -Edwin
-
Issue: BPEL invoking Axis web service
Hi
We are calling a Axis web service from BPEL.. The web service has been defined to be a request only 1 way service. The axis service takes around 3-5 minutes to complete the job( data insertion in DB).. But seems like when BPEL invokes the web service; BPEL thread is waiting (thread is not released) and the BPEL process does not move forward until the web service completes the job....
Any pointers on how the deal with the issue will be helpful!!
ThanksHi Lovenish,
Goto console-> select domain> Configuration->JTA
Check timeout seconds.
2. i don't know what kind of partner link you are invoking.
check composite.xml, is there any property like retry.interval .
3. ◦SyncMaxWaitTime: The maximum time a request and response operation takes before timing out.
The maximum time a request/response operation will take before it times out. The default value is 45 seconds.
Regards,
Padmanabham -
Application Server 8.2 + Axis Web Service Client +Win Server 2003 Issue
Hi everyone,
I'm facing a weird problem the last couples of days and I'm getting bored of banging my head against the logs/screen, so please if you could help I'd really appreciate it.
I'm working on a Sun Application Server 8.2 project that includes an axis web service client. I am using Netbeans 5 to do the writing plus I am on a Win XP platform.
The developers of the web service I intend to absorb were kind enough to package the client into a jar so all I have to do is to import the client and the axis related jar files (axis, axis-ant etc.) in my project and my classpath.
Everything is working perfect on my pc but when I deploy the project on my actual server the web service client is running forever, leaving my end users with a blank browser window that is also loading forever.
The server OS is Win Server 2003 and is directly connected to a gateway - no proxies. Also my development pc and my server are running the same jre and have the exact server police settings; but Sun's Application Server is running on port 8080 on my pc whereas on my server it's running on port 80.
Here's my server's log:
[#|2008-04-14T21:50:01.795+0300|SEVERE|sun-appserver-pe8.2|javax.enterprise.system.container.web|_ThreadID=14;|StandardWrapperValve[obos]: Servlet.service() for servlet obos threw exception
AxisFault
faultCode: {http://xml.apache.org/axis/}HTTP
faultSubcode:
faultString: (0)null
faultActor:
faultNode:
faultDetail:
{}:return code: 0
{http://xml.apache.org/axis/}HttpErrorCode:0
(0)null
at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:744)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at uk.ac.ebi.ook.web.services.OntologyQuerySoapBindingStub.getOntologyNames(OntologyQuerySoapBindingStub.java:509)
at org.dude.ols.client.obos.processRequest(obos.java:30)
at org.dude.ols.client.obos.doGet(obos.java:64)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:747)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
at sun.reflect.GeneratedMethodAccessor99.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257)
at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:132)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:933)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:189)
at com.sun.enterprise.web.connector.grizzly.ProcessorTask.doProcess(ProcessorTask.java:604)
at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:475)
at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:371)
at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:264)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:281)
at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:83)
|#]
Any ideas?Hi Paz,
Thanks for taking the time :)
To answer your questions:
1. Has this WebServices ever worked or is this the first time?
The web service is working perfectly fine on my working station, the problem appears only when I deploy it on my actual server, which means that the web service is working.
2. What Apache Axis Version are you using?
1.4
3. What JRE version are you using?
Both my development pc and my server run jre 1.5.0_14
4. In the actual server environment, can you confirm all information are exactly same as DEV environment...
Oh yes! Absolutely.
My recent assumption is that some windows service might be needed to run the web service client and obviously I have no clue which one it might be.
Just to make sure; is the security policy of my Application Server set correctly?
permission java.lang.RuntimePermission "getClassLoader";
permission java.lang.RuntimePermission "createClassLoader";
permission java.lang.RuntimePermission "loadLibrary.*";
permission java.lang.RuntimePermission "queuePrintJob";
permission java.net.SocketPermission "*", "connect,accept,resolve";
permission java.io.FilePermission "<<ALL FILES>>", "read,write,delete";
// work-around for pointbase bug 4864405
permission java.io.FilePermission "${com.sun.aas.instanceRoot}${/}lib${/}databases${/}-", "delete";
permission java.io.FilePermission "${java.io.tmpdir}${/}-", "delete";
permission java.util.PropertyPermission "*", "read,write";
permission java.lang.RuntimePermission "modifyThreadGroup";
Again thanks for taking the time :) -
Calling AXIS Web Service from a Weblogic Client
Hi All,
I am trying to generate a weblogic Web Service cliente (jar) to call an AXIS Web Service. I am using the weblogic ant task <b>clientgen</b> to generate the stubs/classes from WSDL of the AXIS Web Service.
It creates the the jar but when I try to call the web service it gives the following error:
<pre>
java.rmi.RemoteException: SOAP Fault:javax.xml.rpc.soap.SOAPFaultException: org.xml.sax.SAXException: No deserializer defined for array type {http://xml.apache.org/xml-soap}MapItem; nested exception is:
javax.xml.rpc.soap.SOAPFaultException: org.xml.sax.SAXException: No deserializer defined for array type {http://xml.apache.org/xml-soap}MapItem
javax.xml.rpc.soap.SOAPFaultException: org.xml.sax.SAXException: No deserializer defined for array type {http://xml.apache.org/xml-soap}MapItem
at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:498)
at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:360)
at weblogic.webservice.core.rpc.StubImpl._invoke(StubImpl.java:244)
at sample.ProxyService_Stub.genericMethod(Unknown Source)
at com.orange.few.webservice.test.TestSuiteFijo.testFijo(TestSuiteFijo.java:41)
at java.lang.reflect.Method.invoke(Native Method)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
</pre>
It says that it can´t find the deserializer for the defined array type {http://xml.apache.org/xml-soap}MapItem;
But in the jar it creates the following clasese:
<pre>
org.apache.xml.xml.soap.MapItem
org.apache.xml.xml.soap.MapItemCodec
org.apache.xml.xml.soap.MapItemSequenceCodec
org.apache.xml.xml.soap.holders.MapHolder
org.apache.xml.xml.soap.holders.MapItemHolder
</pre>
and in the mapping file I see the folowing entry:
<pre>
<type-mapping-entry deserializer="org.apache.xml.xml.soap.MapSequenceCodec" class-name="org.apache.xml.xml.soap.MapItem[]" xmlns:p3="http://xml.apache.org/xml-soap" type="p3:Map" serializer="org.apache.xml.xml.soap.MapSequenceCodec">
</type-mapping-entry>
<type-mapping-entry deserializer="org.apache.xml.xml.soap.MapItemCodec" class-name="org.apache.xml.xml.soap.MapItem" xmlns:p4="http://xml.apache.org/xml-soap" type="p4:MapItem" serializer="org.apache.xml.xml.soap.MapItemCodec">
</type-mapping-entry>
</pre>
Any help would be greatly appreciated,
Gerardo
Enviornment:
Weblogic
========
Weblogic Server: 7.0 SP 4
OS: Sun Solaris 8
JDK: 1.3
AXIS
========
AXIS Version: 1.4
Container: Tomcat
OS: Sun Solaris 8
JDK: 1.4Hi Sebastien,
The wsclient sample loads only a minimal set of SOAP and related jar files to the database required to get the sample working. The SSL related classes may not get resolved correctly, but as the sample does not use these,
you should still be able to proceed with the setup.
Can you continue with the configuration steps and let me know if you still face any problems in bringing up the application ?
HTH
Sujatha.
OTN Group. -
Problem with CFMX web service function return
I made a post yesterday about a web service function I was
writing, as it turns out my post was extremly incorrect for my
problem. With this web service function I can return an array just
fine, I can return one instance of an object just fine, however,
when I try to return an array of the object I keep getting the
error:
Could not perform web service invocation "SelectGames"
because AxisFault faultCode: {
http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
faultSubcode: faultString: [org.apache.axis.AxisFault : ; nested
exception is: coldfusion.xml.rpc.CFCInvocationException:
[java.lang.IncompatibleClassChangeError : Dependent CFC type(s)
have been modified. Please refresh your web service client.]];
nested exception is: coldfusion.xml.rpc.CFCInvocationException:
[org.apache.axis.AxisFault : ; nested exception is:
coldfusion.xml.rpc.CFCInvocationException:
[java.lang.IncompatibleClassChangeError : Dependent CFC type(s)
have been modified. Please refresh your web service client.]]
faultActor: faultNode: faultDetail: {
http://xml.apache.org/axis/}stackTrace:
AxisFault faultCode: {
http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
faultSubcode: faultString: [org.apache.axis.AxisFault : ; nested
exception is: coldfusion.xml.rpc.CFCInvocationException:
[java.lang.IncompatibleClassChangeError : Dependent CFC type(s)
have been modifie..
which basically means that the CF server needs restarted.
However if I restart the CF server, no matter how many times I am
still getting this error. If I change up my web service function to
return just a normal array of integers or strings, or I change it
to return one instance of the arbritrary complex type it all works
just fine. I am still a little new on this subject and any
enlightenment would be great. If anyone has found a way around this
please let me know.
Here is my complex type:
<cfcomponent>
<cfproperty name="Game_id" type="numeric">
<cfproperty name="gameDate" type="date">
<cfproperty name="Starttime" type="string">
<cfproperty name="Place" type="string">
<cfproperty name="Level" type="string">
<cfproperty name="Sport" type="string">
<cfproperty name="Gender" type="string">
<cfproperty name="Opponent" type="string">
<cfproperty name="Type" type="string">
<cfproperty name="Link" type="string">
</cfcomponent>
I loop trhough a query and set a cfobject of the types above,
then I append that object to an array and try t o return the array.
Here is the basics of the loop:
<cfset theArray = arrayNew(1)>
<cfobject component = "games" name = "test>
<cfloop query ...>
<!--- set values to test ---->
<cfset arrayApend(theArray, test)>
</cfquery>
<cfreturn theArray>
my return type is array, I think the problem is I need to
specify the return type to be an array of arbritray complex types
which is impossible to do in CF. Anyone find a way to get around
this?? Any feed back at all would be greatly appreciated.Yes, I have tried it and return type any does not work in
this situation since this function is being consumed by a web
service. It needs to be in the form of an array of arbritrary type
that is defined in a cfc file. Since this is WSDL the returntype
has to be specified to every last bit. -
Changing structure of Axis web service response?
I am developing an Axis web service with one request called 'createCaseWithRef'. The client that consumes the web serivce has already been configured to send a request in a certain structure and recieve a response in a certain structure.
I have the request working fine, but the response being sent back from the web service is wrong. The structure of the response should be:
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns0="http://com.lagan/types/WebService"
env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<env:Body>
<ans1:createCaseWithRefResponse xmlns:ans1="http://com.lagan/wsdl/WebService">
<result href="#ID1"/>
</ans1:createCaseWithRefResponse>
<ns0:ArrayOfstring id="ID1" xsi:type="enc:Array" enc:arrayType="xsd:string[2]">
<item xsi:type="xsd:string">1000251282</item>
<item xsi:type="xsd:string">12345-FLC-155524</item>
</ns0:ArrayOfstring>
</env:Body>
</env:Envelope>Whereas the response message being sent back is:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:createCaseWithRefResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://com.lagan/types/WebService">
<createCaseWithRefReturn soapenc:arrayType="xsd:string[2]" xsi:type="soapenc:Array" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<createCaseWithRefReturn xsi:type="xsd:string">1000251282</createCaseWithRefReturn>
<createCaseWithRefReturn xsi:type="xsd:string">12345-FLC-155524</createCaseWithRefReturn>
</createCaseWithRefReturn>
</ns1:createCaseWithRefResponse>
</soapenv:Body>
</soapenv:Envelope>How can I change the structure of the response message to conform with the expected message? Is this done is the WSDD file of the service?
Any help would be greatly appreciated.Anyone know how to do this? Please help if you do, this would be very much appreciated.
-
Apach AXIS Web Service Queries
Hi All,
we are thinking to use Apache AXIS Web Service. We have few compatibility queries for Axis Web Service
Does it support complex types (i.e. Array of Java Objects if my web service returns)? If yes do you have any documentation?
How do we convert SOAP fault into Application specific exception?
How to encode SOAP messages?
Ideal size of SOAP messages?
Let me know if you require more information.
Thanks
ChintanI've just looked into this a bit more and discovered that AXIS will use log4j provided that an implementation of log4j is on the classpath of the server or client. Like I said before, what I would do is provide an implementation of log4j on the classpath and then provide a log4j.properties (or xml) file in the classpath.
From the docs:
Axis includes a preconfigured log4j.properties file in axis.jar. While this is adequate for basic use, any complex project will want to modify their own version of the file. Here is what to do
1. Open up axis.jar in a zipfile viewer and remove log4j.properties from the jar
2. Or, when building your own copy of axis.jar, set the Ant property exclude.log4j.configuration to keep the properties file out the JAR.
3. Create your own log4J.properties file, and include it in WEB-INF/classes (server-side), in your main application JAR file client side.
4. Edit this log4J properties file to your hearts content. Server side, setting up rolling logs with fancy html output is convenient, though once you start clustering the back end servers that ceases to be as usuable. Log4J power tools, such as 'chainsaw', are the secret here.
If you want to remove logging altogether you can try just removing the log4j.properties file from the axis.jar. I wouldn't recommend this though and I have no idea what affect this will have ... -
How to Use SOAPArray to Exchanged Data with a Web Service
The method of a prototype Web service I created is defined to take many parameters
and return an object of a user defined class. Furthermore, the user defined class
includes data elements of another user defined class and the Java ArrayList class.
This works with a Java client referencing the WebLogic created client.jar file
but I don't know how well it will work with a non-Java client. In particular,
with Perl which is the language that will be used by the developer who first will
test with the prototype.
In posts to this newsgroup use of "language-specific, generic containers" has
been discouraged and the "language-agnostic" SOAPArray recommended. I have searched
this newgsroup and the Web for examples of how to use a SOAPArray in a Web service
EJB to receive parameters and return results but found none.
Will someone refer me to an example or give an overview of how a Java Web service
EJB running in WebLogic 6.1 would use SOAPArray to get parameter values and return
results?
Also, I would like confirmation that it is best to use SOAPArray to exchange data
with a Web service to achieve the goal of a service accessible by any language.
Thank you.Replies in-line:
How are the structures, e.g. gltrans-workType, defined in the Web service?The structure is made up of nested Java Beans, but this does not mean that the
client for your web service has to be written in Java. The WSDL that I sent contains
everything that a .NET-based (or Perl-based, or Python-based, or VB-based, or
C++ based) Web Service Stack needs to correctly create all the data types in the
web services' signature! That's the beauty of XML Schema! It's programming language
independent :-)
In
other words, what definition in Java resulted in the WSDL statements?The WSDL wasn't produced by WLS 6.1, but it (WLS 6.1) can consume it.
What is the signature of method submitGLTransWorkAsJavaBean() in the
Web service?public void submitGLTransWorkAsJavaBean(GlTransactionsCpyType glTransactionsCpyType)
GlTransactionsCpyType is the outer-most Java Bean. WLS 6.1 does not generate
Java Beans for you, but it will use ones that you defined. See the Java Bean tutorial
on the Javasoft sitem for details on how to create a Java Bean.
Was the WSDL generated using the WL tools for creating a Web service?No.
Conclusion:
You asked for someone to provide you with an example of how to use SOAP array
in a WSDL, which is what the attached file contained :-) What you want to do now
is find a tool that can generate Java Bean code from this WSDL (Apache Axis has
a wsdl2java tool that should work), or create the Java Beans yourself. Afterwards,
create a WLS 6.1 Web Service a expose it for a Perl or .NET client.
Regards,
Mike Wooten
"Jeff Carey" <[email protected]> wrote:
>
Please elaborate.
How are the structures, e.g. gltrans-workType, defined in the Web service?
In
other words, what definition in Java resulted in the WSDL statements?
What is the signature of method submitGLTransWorkAsJavaBean() in the
Web service?
Was the WSDL generated using the WL tools for creating a Web service?
Thank you.
"Michael Wooten" <[email protected]> wrote:
Hi Jeff,
Sounds like a pretty cool prototype :-)
I have attached a WSDL (at the bottom of this post) that contains a<schema>
that
uses a SOAPArray to create an array of a <complexType>.
HTH,
Mike Wooten
"Jeff Carey" <[email protected]> wrote:
The method of a prototype Web service I created is defined to take
many
parameters
and return an object of a user defined class. Furthermore, the user
defined class
includes data elements of another user defined class and the Java ArrayList
class.
This works with a Java client referencing the WebLogic created client.jar
file
but I don't know how well it will work with a non-Java client. Inparticular,
with Perl which is the language that will be used by the developerwho
first will
test with the prototype.
In posts to this newsgroup use of "language-specific, generic containers"
has
been discouraged and the "language-agnostic" SOAPArray recommended.
I have searched
this newgsroup and the Web for examples of how to use a SOAPArray in
a Web service
EJB to receive parameters and return results but found none.
Will someone refer me to an example or give an overview of how a Java
Web service
EJB running in WebLogic 6.1 would use SOAPArray to get parameter values
and return
results?
Also, I would like confirmation that it is best to use SOAPArray toexchange
data
with a Web service to achieve the goal of a service accessible by any
language.
Thank you. -
[svn] 3822: update the test to use qa-regress axis web service target
Revision: 3822
Author: [email protected]
Date: 2008-10-22 11:53:21 -0700 (Wed, 22 Oct 2008)
Log Message:
update the test to use qa-regress axis web service target
Modified Paths:
blazeds/branches/3.0.x/qa/apps/qa-manual/ipv6/proxyservice/webService/ipv6_ws_dynamicurl. mxmlI solved that url problem. But there is still something I need to ask.
First of all, the solution is the following;
I have implemented my asp.net web service with visual studio, creating web service application. when I implement the project, it shows how to send requests( soap, http ), and there is http post request.( no get ). then I create and http post service with flash builder, the problem was that I needed to add a submit parameter to that service call since this is a post request to asp.net( Content-Type: application/x-www-form-urlencoded ). when I add this parameter it works well.
however I want my service to return xml directly. In a different post http://forums.adobe.com/thread/574684?tstart=0 the problem is solved for PHP http requests. but when I try to implement in the same way it gives following error:
any solution for that? thx -
Best practice for integrating oracle atg with external web service
Hi All
What is the best practice for integrating oracle atg with external web service? Is it using integration repository or calling the web service directly from the java class using a WS client?
With Thanks & Regards
AbhishekUsing Integration Repository might cause performance overhead based on the operation you are doing, I have never used Integration Repository for 3rd Party integration therefore I am not able to make any comment on this.
Calling directly as a Java Client is an easy approach and you can use ATG component framework to support that by making the endpoint, security credentials etc as configurable properties.
Cheers
R
Edited by: Rajeev_R on Apr 29, 2013 3:49 AM -
Creating SOAP Receiver comm.channel for axis web service
Hi,
I created Soap Receiver comm. channel fro Axis web service like below:
*Target URL* : http://<IP>:<Port>/<x>/service
*User:* <user>
*Password :* <password>
*SOAP Action:* <target namespace>/method
when i drive PI Message that use Soap Receiver it get error below
I do same method for .Net web service, it runs properly.
How can i solve this problem?
Error
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!-- Call Adapter -->
<SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Category>XIServer</SAP:Category>
<SAP:Code area="MAPPING">NO_MAPPINGPROGRAM_FOUND</SAP:Code>
<SAP:P1>Object ID B3004965647F340C997B5F2CC9EA7E22 Software Component 4CF44F80503211DEB2A0D3F40A194B29</SAP:P1>
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText />
<SAP:Stack>Mapping program is not available in runtime cache: Object ID B3004965647F340C997B5F2CC9EA7E22 Software Component 4CF44F80503211DEB2A0D3F40A194B29</SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error>Hi,
I did all but nothing changed?
I have doubt about axis side. Because respose like below.
<SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Category>Application</SAP:Category>
<SAP:Code area="UNKNOWN">APPLICATION_ERROR</SAP:Code>
<SAP:P1 />
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText>application fault</SAP:AdditionalText>
<SAP:ApplicationFaultMessage namespace="http://xml.apache.org/axis/">hostname</SAP:ApplicationFaultMessage>
<SAP:Stack />
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
May be Soap Receiver setting for axis web service must be different.
Thanks. -
Slow attachment upload with Exchange Web Services (Outlook 2011 for Mac?)
We're experiencing slow attachment upload with Exchange Web Services versus MAPI, OWA, and Outlook Anywhere. I'm not totally certain that it is Exchange Web Services or specifically Outlook 2011 for Mac. I attempted to test with the Mac Mail
App, but it makes it difficult to tell when the attachment has been uploaded and the file has been sent. Here's what we're seeing (10mb file):
MAPI / RPC/HTTPS / OWA: 10-15 seconds upload time
Exchange Web Services (Outlook 2011 for Mac): 60-90 seconds upload time
Thoughts? Any idea why we would see such a drastic difference in attachment upload time? Any way to prove definitively that it is Exchange Web Services vs. Outlook 2011 for Mac? We've tried it from multiple locations with multiple different machines,
and although the upload times vary (some locations have more bandwidth etc) the ratios remain similar.
Hi ,
Does all the user occurred the issue ?
If only special user, I recommend you do the following steps and test:
1.Remove and re-add the email account and check if this helps to resolve the issue.
To remove and add the email accounts:
Open Outlook > GO to Tools > Accounts > Click on "Minus" symbol to remove and "Plus" to add an Email account.
2.Creating a new user profile:
http://support.microsoft.com/kb/2439218/
3. If the issue persists, rebuild the data base and check the results:
http://support.microsoft.com/kb/2360509
You can also post it on Office for MAC forum to get special support about the difference between Outlook and Outlook for MAC.
http://www.microsoft.com/mac/support
Wendy Liu
TechNet Community Support -
Problem with RESTful web service
I am running into a problem with Flex Web Services (REST) in trying to get the proper format returned. I can see that the HTTP header is set to
Accept: */*;
rather than
Accept: application/xml
when sending the request. The web service was generated via the web services HTTP data services wizard. I edited it to set the resultFormat to xml
// Constructor
public function _Super_UsersService()
// initialize service control
_serviceControl = new mx.rpc.http.HTTPMultiService();
var operations:Array = new Array();
var operation:mx.rpc.http.Operation;
var argsArray:Array;
operation = new mx.rpc.http.Operation(null, "getUsers");
operation.url = "http://localhost:8888/users";
operation.contentType = "";
operation.method = "GET";
operation.resultFormat = "xml";
//operation.serializationFilter = serializer0;
operation.properties = new Object();
operation.properties["xPath"] = "/";
operation.resultType = valueObjects.Users;
operations.push(operation);
_serviceControl.operationList = operations;
model_internal::initialize();
How does one configure the accept header?Hi,
I have posted a simple application with the RESTful reference:
http://apex.oracle.com/pls/apex/f?p=13758
I can give you full privileges on this so you can look at the WEB service reference. Shall I send to you separately for login user?
It is using the RESTful service: http://apex.oracle.com/pls/apex/nd_pat_miller/demo/employee/{deptno}
This RESTful service tests fine when I test from within the RESTful web service module of the Workspace.
I based this on the Video demo tutorial for RESTful web service that Oracle published for 4.2 release. The video seemed to exclude the {deptno} in the URL but when I try that, it doesn't work either.
This is the error I am getting when I run this on my Apex environment: (it, of course, will not run the web service in the apex.oracle.com environment)
class="statusMessage">Bad Request</span>
</h3>
</div>
</div>
<div id="xWhiteContentContainer" class="xContentWide">
<div class="xWhiteContent">
<div class="errorPage">
<p>
<ul class="reasons"><li class="badRequestReason"><span class="target" style="display:none;">uri</span><span class="reason">Request path contains unbound parameters: deptno</span></li>
</ul>Thanks,
Pat
Edited by: patfmnd on May 8, 2013 3:33 AM -
Prob with Adaptive Web Service Model and Response with reference of itself
Hi guys,
I am facing a problem with the Adaptive WebService Model. I have a WebService which is working properly in a Servlet and also in the web service navigator,
The webService has a method let´s say create(objectDTO). The structure of objectDTO is like this:
propertieA
propertieB
propertieC
propertieChildObjectDTO
So I can pass a list of objectDTOs to the webService. If i import the webService the structure in the model looks fine, but if i want to map it to any context, only the properties A-C are mapped. propertieChildObjectDTO is not mapped.
Has anyone a clue on how to solve this problem ? I just tried to add and initialize the propertieChildObjectDTO manually but I got a NullPointerException.
I would appreciate your help.
Happy new year guys
Regards
FloGuys......
seems like i can´t reach my requirement with Adaptive Web Service Model:
https://www.sdn.sap.com/irj/scn/wiki?path=/display/wdjava/faq%252b-%252bmodels%252b-%252badaptive%252bweb%252bservice
Now I want to make it by hand. How can I import the regarding EJB ?
Thanks !
Flo
Maybe you are looking for
-
How to restrict the department to not user other departments' equipment?
Dear SAPIENTS, How to restrict the department to not user other departments' equipment? If suppose any one creating order for equipment having different authorization group then system should not allow me to do this. Regards, Kaushal Rai
-
Intermittently nursery GC is taking very long pause time
Hi, I have jboss application server running with JRockit R27.6.5 on RedHat Linux. I see that the nursery GC is taking very long time. Some times it takes more than 10 seconds. This causes TLA-fetch error for all the threads. High nursery time - [memo
-
Report to Report Interface (RRI)
Hi, I had a Query on a Cube (Multiprovider) and I had a query on DSO How can i perform Report to Report Interface (RRI) for this two queries Thanks
-
I find with mail.app that more seems to get through the junk mail filter than say with Entourage. The filter is the preset. I've looked at it and really can't see how I'd improve it. Does anyone have any ideas on how to make the filter more effective
-
Why do a lot of the Themes not work with Firefox 4.0?
Just upgraded to 4.0 and looking for a theme to use, but alot of them are grayed out and says not compatible with version of Firefox I am running.