Calling BPEL service using axis client
Hi,
I have created and deployed simple BPEL process and i am trying to invoke this BPEL process using axis client.
deployed BPEL wsdl is as follows
<?xml version="1.0" encoding="UTF-8" ?>
- <definitions name="SimpleProcess" targetNamespace="http://xmlns.oracle.com/SimpleProcess" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://xmlns.oracle.com/SimpleProcess" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:client="http://xmlns.oracle.com/SimpleProcess">
- <types>
- <schema xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://xmlns.oracle.com/SimpleProcess" schemaLocation="SimpleProcess.xsd" />
</schema>
</types>
- <message name="SimpleProcessRequestMessage">
<part name="payload" element="tns:SimpleProcessProcessRequest" />
</message>
- <message name="SimpleProcessResponseMessage">
<part name="payload" element="tns:SimpleProcessProcessResponse" />
</message>
- <portType name="SimpleProcess">
- <operation name="process">
<input message="tns:SimpleProcessRequestMessage" />
<output message="tns:SimpleProcessResponseMessage" />
</operation>
</portType>
- <binding name="SimpleProcessBinding" type="tns:SimpleProcess">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
- <operation name="process">
<soap:operation style="document" soapAction="process" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
</binding>
- <service name="SimpleProcess">
- <port name="SimpleProcessPort" binding="tns:SimpleProcessBinding">
<soap:address location="http://localhost:9700/orabpel/default/SimpleProcess/1.0" />
</port>
</service>
- <plnk:partnerLinkType name="SimpleProcess">
- <plnk:role name="SimpleProcessProvider">
<plnk:portType name="tns:SimpleProcess" />
</plnk:role>
</plnk:partnerLinkType>
</definitions>
and my soap client code is as follows
public static void main(String[] args) throws Exception {
String endpoint =
"http://ICON-OBCC.asiapacific.hpqcorp.net:9700/orabpel/default/SimpleProcess/1.0 ";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress( new java.net.URL(endpoint) );
call.setOperationName(new QName("http://xmlns.oracle.com/TP", "process"));
String ret = (String) call.invoke( new Object[] { "FFF" } );
System.out.println("Sent 'Hello!', got '" + ret + "'");
when i execute this i am getting follwoing error on BPEL console
Error - OWS-04005 an error occured for port BPEL_OC4j_SOAP_PROVIDER javx.xml.rpc.JAXRPCException java:lang:NullPointerException
Any indication for resolving this will be great help.
Thanks in advance
S
Hi,
I have created and deployed simple BPEL process and i am trying to invoke this BPEL process using axis client.
deployed BPEL wsdl is as follows
<?xml version="1.0" encoding="UTF-8" ?>
- <definitions name="SimpleProcess" targetNamespace="http://xmlns.oracle.com/SimpleProcess" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://xmlns.oracle.com/SimpleProcess" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:client="http://xmlns.oracle.com/SimpleProcess">
- <types>
- <schema xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://xmlns.oracle.com/SimpleProcess" schemaLocation="SimpleProcess.xsd" />
</schema>
</types>
- <message name="SimpleProcessRequestMessage">
<part name="payload" element="tns:SimpleProcessProcessRequest" />
</message>
- <message name="SimpleProcessResponseMessage">
<part name="payload" element="tns:SimpleProcessProcessResponse" />
</message>
- <portType name="SimpleProcess">
- <operation name="process">
<input message="tns:SimpleProcessRequestMessage" />
<output message="tns:SimpleProcessResponseMessage" />
</operation>
</portType>
- <binding name="SimpleProcessBinding" type="tns:SimpleProcess">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
- <operation name="process">
<soap:operation style="document" soapAction="process" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
</binding>
- <service name="SimpleProcess">
- <port name="SimpleProcessPort" binding="tns:SimpleProcessBinding">
<soap:address location="http://localhost:9700/orabpel/default/SimpleProcess/1.0" />
</port>
</service>
- <plnk:partnerLinkType name="SimpleProcess">
- <plnk:role name="SimpleProcessProvider">
<plnk:portType name="tns:SimpleProcess" />
</plnk:role>
</plnk:partnerLinkType>
</definitions>
and my soap client code is as follows
public static void main(String[] args) throws Exception {
String endpoint =
"http://ICON-OBCC.asiapacific.hpqcorp.net:9700/orabpel/default/SimpleProcess/1.0 ";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress( new java.net.URL(endpoint) );
call.setOperationName(new QName("http://xmlns.oracle.com/TP", "process"));
String ret = (String) call.invoke( new Object[] { "FFF" } );
System.out.println("Sent 'Hello!', got '" + ret + "'");
when i execute this i am getting follwoing error on BPEL console
Error - OWS-04005 an error occured for port BPEL_OC4j_SOAP_PROVIDER javx.xml.rpc.JAXRPCException java:lang:NullPointerException
Any indication for resolving this will be great help.
Thanks in advance
S
Similar Messages
-
Error invoking bpel process using axis client
When I am trying to invoke bpel process using axis client I'am having following error:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: org.xml.sax.SAXException: Bad envelope tag: html
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace: org.xml.sax.SAXException: Bad envelope tag: html
at org.apache.axis.message.EnvelopeBuilder.startElement(EnvelopeBuilder.java:109)
at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:976)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at org.apache.axis.encoding.DeserializationContextImpl.parse(DeserializationContextImpl.java:242)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:538)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:376)
at org.apache.axis.client.Call.invokeEngine(Call.java:2583)
at org.apache.axis.client.Call.invoke(Call.java:2553)
at org.apache.axis.client.Call.invoke(Call.java:1753)
at com.oracle.sample.ws.ArrayClient.main(ArrayClient.java:44)
org.xml.sax.SAXException: Bad envelope tag: html
at org.apache.axis.AxisFault.makeFault(AxisFault.java:129)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:543)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:376)
at org.apache.axis.client.Call.invokeEngine(Call.java:2583)
at org.apache.axis.client.Call.invoke(Call.java:2553)
at org.apache.axis.client.Call.invoke(Call.java:1753)
at com.oracle.sample.ws.ArrayClient.main(ArrayClient.java:44)
Caused by: org.xml.sax.SAXException: Bad envelope tag: html
at org.apache.axis.message.EnvelopeBuilder.startElement(EnvelopeBuilder.java:109)
at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:976)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at org.apache.axis.encoding.DeserializationContextImpl.parse(DeserializationContextImpl.java:242)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:538)
... 5 more
My client code is following:
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL("http://localhost:9700/orabpel/default/Array"));
SOAPEnvelope env = new SOAPEnvelope();
Name bodyName = env.createName("ArrayRequest", "tns", "http://localhost/");
SOAPBodyElement request = body.addBodyElement(bodyName);
Name childName = env.createName("input","tns","http://localhost/");
SOAPElement input = request.addChildElement(childName);
input.addTextNode("ORCL");
call.invoke(env);
MessageContext mc = call.getMessageContext();
System.out.println("\n============= Response ==============");
XMLUtils.PrettyElementToStream(mc.getResponseMessage().getSOAPEnvelope().getAsDOM(), System.out);
I'am having the same error with client generated by wsdl2java.
RegardsHi -
A few things that you may want to try to troubleshoot this issue:
1) Run our sample of calling a BPEL process from Axis, located in:
C:\orabpel\samples\interop\axis\AXISCallingSyncBPEL
2) Run your client through a TCP tunnel to see the specific SOAP request message that is being sent to the BPEL process and the SOAP response that is being generated. This should help you determine which side of the communication is causing the problem, as well as to rule out proxy server or other issues that are very common problems for this situation.
Dave -
Creating a java Web Service Using Axis
I need to write a Java web Service using Axis which send a file as an DIme attachement and It should to be invoked by .NET Client .
I need to know how to attach a file to Soap response and how to read a file from the response at Client.
I am new to web Services ,,please help me......Hi
You can use a java web service to publish a Web service from a Java class.
A wizard creates the WSDL document and deployment files needed to publish your code as a Web service. After you select the class and methods you want to publish, the wizard generates deployment descriptors, a JAX-RPC mapping file, and a WSDL document that can be deployed to an application server.
You can refer : \bpel\samples\tutorials\102.InvokingProcesses\ws sample to invoke a WS using JAX-RPC Call.
Hope that helps!
Cheers
A -
Authenticating to weblogic web service using a client cert with webserver
I am trying to think of how to authenticate a client to a weblogic web service
using a client certificate. The wrinkle is that a Web Server (iis or whatever)
will be handling the ssl part and forwarding non-secure to weblogic. The cert
will still be accessable in the request using: HttpServletRequest req.getAttribute("javax.net.ssl.peer_certificates).
At this point it is not clear to me what I can do. When does CertAuthenticator
get called? Can I even use it? Will I have to write my own version of the weblogic.soap.server.servlet.StatelessBeanAdapter
class?
Any help will be appreciated, even explaining why it can't be done.
Thanks,
ScottI am trying to think of how to authenticate a client to a weblogic web service
using a client certificate. The wrinkle is that a Web Server (iis or whatever)
will be handling the ssl part and forwarding non-secure to weblogic. The cert
will still be accessable in the request using: HttpServletRequest req.getAttribute("javax.net.ssl.peer_certificates).
At this point it is not clear to me what I can do. When does CertAuthenticator
get called? Can I even use it? Will I have to write my own version of the weblogic.soap.server.servlet.StatelessBeanAdapter
class?
Any help will be appreciated, even explaining why it can't be done.
Thanks,
Scott -
Unable to call the service using JAX-RPC
Hi,
I created a web service in Weblogic6.1 using the ant wsgen utility.
When i tried to invoke the service using my client program, i get the following error.
Exception in thread "main" modeler error: model error: invalid entity name: "string" (in namespace: "http://www.w3.org/1999/XMLSchema"
at com.sun.xml.rpc.processor.modeler.wsdl.WSDLModeler.buildModel(WSDLModeler.java:137)
at com.sun.xml.rpc.processor.config.ModelInfo.buildModel(ModelInfo.java:77)
at com.sun.xml.rpc.client.dii.ServiceInfoBuilder.getModel(ServiceInfoBuilder.java:96)
at com.sun.xml.rpc.client.dii.ServiceInfoBuilder.buildServiceInfo(ServiceInfoBuilder.java:59)
at com.sun.xml.rpc.client.dii.ConfiguredService.<init>(ConfiguredService.java:44)
at com.sun.xml.rpc.client.ServiceFactoryImpl.createService(ServiceFactoryImpl.java:32)
at JAXRPCClient.main(JAXRPCClient.java:20)
CAUSE:
model error: invalid entity name: "string" (in namespace: "http://www.w3.org/1999/XMLSchema")
at com.sun.xml.rpc.processor.schema.InternalSchemaBuilder.buildTypeDefinition(InternalSchemaBuilder.java:61)
at com.sun.xml.rpc.processor.schema.InternalSchema.findTypeDefinition(InternalSchema.java:45)
at com.sun.xml.rpc.processor.modeler.wsdl.SchemaAnalyzer.schemaTypeToSOAPType(SchemaAnalyzer.java:66)
at com.sun.xml.rpc.processor.modeler.wsdl.WSDLModeler.processSOAPOperationRPCStyle(WSDLModeler.java:592)
at com.sun.xml.rpc.processor.modeler.wsdl.WSDLModeler.processSOAPOperation(WSDLModeler.java:423)
at com.sun.xml.rpc.processor.modeler.wsdl.WSDLModeler.processPort(WSDLModeler.java:344)
at com.sun.xml.rpc.processor.modeler.wsdl.WSDLModeler.processService(WSDLModeler.java:231)
at com.sun.xml.rpc.processor.modeler.wsdl.WSDLModeler.internalBuildModel(WSDLModeler.java:196)
at com.sun.xml.rpc.processor.modeler.wsdl.WSDLModeler.buildModel(WSDLModeler.java:103)
at com.sun.xml.rpc.processor.config.ModelInfo.buildModel(ModelInfo.java:77)
at com.sun.xml.rpc.client.dii.ServiceInfoBuilder.getModel(ServiceInfoBuilder.java:96)
at com.sun.xml.rpc.client.dii.ServiceInfoBuilder.buildServiceInfo(ServiceInfoBuilder.java:59)
at com.sun.xml.rpc.client.dii.ConfiguredService.<init>(ConfiguredService.java:44)
at com.sun.xml.rpc.client.ServiceFactoryImpl.createService(ServiceFactoryImpl.java:32)
at JAXRPCClient.main(JAXRPCClient.java:20)
CAUSE:
invalid entity name: "string" (in namespace: "http://www.w3.org/1999/XMLSchema")
at com.sun.xml.rpc.wsdl.framework.AbstractDocument.find(AbstractDocument.java:110)
at com.sun.xml.rpc.processor.schema.InternalSchemaBuilder.buildTypeDefinition(InternalSchemaBuilder.java:54)
at com.sun.xml.rpc.processor.schema.InternalSchema.findTypeDefinition(InternalSchema.java:45)
at com.sun.xml.rpc.processor.modeler.wsdl.SchemaAnalyzer.schemaTypeToSOAPType(SchemaAnalyzer.java:66)
at com.sun.xml.rpc.processor.modeler.wsdl.WSDLModeler.processSOAPOperationRPCStyle(WSDLModeler.java:592)
at com.sun.xml.rpc.processor.modeler.wsdl.WSDLModeler.processSOAPOperation(WSDLModeler.java:423)
at com.sun.xml.rpc.processor.modeler.wsdl.WSDLModeler.processPort(WSDLModeler.java:344)
at com.sun.xml.rpc.processor.modeler.wsdl.WSDLModeler.processService(WSDLModeler.java:231)
at com.sun.xml.rpc.processor.modeler.wsdl.WSDLModeler.internalBuildModel(WSDLModeler.java:196)
at com.sun.xml.rpc.processor.modeler.wsdl.WSDLModeler.buildModel(WSDLModeler.java:103)
at com.sun.xml.rpc.processor.config.ModelInfo.buildModel(ModelInfo.java:77)
at com.sun.xml.rpc.client.dii.ServiceInfoBuilder.getModel(ServiceInfoBuilder.java:96)
at com.sun.xml.rpc.client.dii.ServiceInfoBuilder.buildServiceInfo(ServiceInfoBuilder.java:59)
at com.sun.xml.rpc.client.dii.ConfiguredService.<init>(ConfiguredService.java:44)
at com.sun.xml.rpc.client.ServiceFactoryImpl.createService(ServiceFactoryImpl.java:32)
at JAXRPCClient.main(JAXRPCClient.java:20)
My wsdl file is
- <definitions targetNamespace="java:com.mountain.molehill.ejb.controller" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:tns="java:com.mountain.molehill.ejb.controller" xmlns:xsd="http://www.w3.org/1999/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
- <types>
<schema targetNamespace="java:com.mountain.molehill.ejb.controller" xmlns="http://www.w3.org/1999/XMLSchema" />
</types>
- <message name="getPointBalanceRequest">
<part name="arg0" type="xsd:string" />
</message>
- <message name="getPointBalanceResponse">
<part name="return" type="xsd:string" />
</message>
- <portType name="WSManagerPortType">
- <operation name="getPointBalance">
<input message="tns:getPointBalanceRequest" />
<output message="tns:getPointBalanceResponse" />
</operation>
</portType>
- <binding name="WSManagerBinding" type="tns:WSManagerPortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
- <operation name="getPointBalance">
<soap:operation soapAction="urn:getPointBalance" />
- <input>
<soap:body use="encoded" namespace="urn:WSManager" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
- <output>
<soap:body use="encoded" namespace="urn:WSManager" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
</binding>
- <service name="WSManager">
<documentation>todo</documentation>
- <port name="WSManagerPort" binding="tns:WSManagerBinding">
<soap:address location="http://blrkec17805:7001/WS/rpc_URI" />
</port>
</service>
</definitions>
Could anybody help me in resolving this problem?
Thanks in advance,
RajaduraiHello,
edit the wsdl file and change 'http://www.w3.org/1999/XMLSchema' to 'http://www.w3.org/2001/XMLSchema' for both xmlns:xsd and xmlns then try again.
Andre -
How to call web-service using only java code
Hello, how to call web-service using only java code. I can call it from BPM process or Web Dynpro Java Application, but if I need to call it from ejb component?
I'm found answer:
Java and SAP Portal blog: How to call web service from java code example -
Publishing pl/sql as web services using axis
Hello,
I am a newbie to web services.
I want to publish pl/sql packages as web services using axis and tomcat. Can you please tell me where to start - I will appreciate any information, links to tutorials and docs. Can you please tell me what I need to deploy and run the services.
Thank you very much in advance!
EkaHello,
The OracleAS Database Web Service is only available for OracleAS using the Oracle Web Service runtime and tools as documented here.
If you are not using OracleAS or if you want to use another Web Service stack you can still manually program you Web Service manually using JDBC and is features.
Here a generic article: http://www.onjava.com/pub/a/onjava/2003/08/13/stored_procedures.html
and you can use advanced features of JDBC and JPublisher if needed:
Simplifying Database Access
Regards
Tugdual Grall -
Problem calling BPEL process using apache axis client
We have a BPEL process which we are trying to call from apache axis client. The problem is when we execute "call.invoke(new Object[] { xmlStr }) ", it adds an "argo" element to the message, and the xpath is unable to evaluate the message.
We are able to call the process fron .Net and VB 6 using soap toolkit without any problem, so it seems odd we are not able to do so from apache axis.
Here is how it should be received by the BPEL process:
<inputVariable>
<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
<Request xmlns="http://e1.oracle.com/IAM">
<MessageHeader>
<Operation>update</Operation>
</MessageHeader>
<MessageDetail xmlns="">
<szSecondaryUoM_UOM2/>
</MessageDetail>
</Request>
</part>
</inputVariable>
But this is the way it is received having been sent from apache axis (notice the arg0 element) :
<inputVariable>
<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
<arg0 xsi:type="xsd:string" xmlns="http://xmlns.oracle.com/InventoryAdjustment" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Request xmlns="http://e1.oracle.com/IAM">
<MessageHeader>
<Operation>update</Operation>
</MessageHeader>
<MessageDetail xmlns="">
<szSecondaryUoM_UOM2/>
</MessageDetail>
</Request>
</arg0>
</part>
</inputVariable>
Any insight as to how to approach this would be appreciated. The WSDL and java code follow.
WSDL:
<?xml version="1.0" encoding="UTF8" ?>
<definitions name="InventoryAdjustment" targetNamespace="http://xmlns.oracle.com/InventoryAdjustment" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://xmlns.oracle.com/InventoryAdjustment" xmlns:ns1="http://e1.oracle.com/IAM" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partnerlink/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://schemas.oracle.com/bpel/extension" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:client="http://xmlns.oracle.com/InventoryAdjustment">
<types>
<schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/InventoryAdjustment" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://e1.oracle.com/IAM" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partnerlink/" xmlns:client="http://xmlns.oracle.com/InventoryAdjustment" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://schemas.oracle.com/bpel/extension">
<element name="InventoryAdjustmentProcessRequest">
<complexType>
<sequence>
<element name="input" type="string" />
</sequence>
</complexType>
</element>
<element name="InventoryAdjustmentProcessResponse">
<complexType>
<sequence>
<element name="result" type="string" />
</sequence>
</complexType>
</element>
</schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://e1.oracle.com/IAM" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partnerlink/" xmlns:client="http://xmlns.oracle.com/InventoryAdjustment" xmlns:ns2="http://schemas.oracle.com/bpel/extension">
<xsd:import namespace="http://e1.oracle.com/IAM" schemaLocation="http://tigger:7777/orabpel/xmllib/InventoryAdjustmentRequest.xsd" />
</xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://e1.oracle.com/IAM" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partnerlink/" xmlns:client="http://xmlns.oracle.com/InventoryAdjustment" xmlns:ns2="http://schemas.oracle.com/bpel/extension">
<xsd:import namespace="http://e1.oracle.com/IAM" schemaLocation="http://tigger:7777/orabpel/xmllib/InventoryAdjustmentResponse.xsd" />
</xsd:schema>
</types>
<message name="InventoryAdjustmentRequestMessage">
<part name="payload" element="ns1:Request" />
</message>
<message name="InventoryAdjustmentResponseMessage">
<part name="payload" element="ns1:Response" />
</message>
<portType name="InventoryAdjustment">
<operation name="process">
<input message="tns:InventoryAdjustmentRequestMessage" />
<output message="tns:InventoryAdjustmentResponseMessage" />
</operation>
</portType>
<binding name="InventoryAdjustmentBinding" type="tns:InventoryAdjustment">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
<operation name="process">
<soap:operation style="document" soapAction="process" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
</binding>
<service name="InventoryAdjustment">
<port name="InventoryAdjustmentPort" binding="tns:InventoryAdjustmentBinding">
<soap:address location="http://tigger:7777/orabpel/default/InventoryAdjustment/1.0" />
</port>
</service>
<plnk:partnerLinkType name="InventoryAdjustment">
<plnk:role name="InventoryAdjustmentProvider">
<plnk:portType name="tns:InventoryAdjustment" />
</plnk:role>
</plnk:partnerLinkType>
</definitions>
java code:
import javax.xml.namespace.QName;
import javax.xml.rpc.JAXRPCException;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.Service;
import javax.xml.rpc.ServiceException;
import javax.xml.rpc.ServiceFactory;
import javax.xml.rpc.encoding.XMLType;
import javax.xml.rpc.soap.SOAPFaultException;
import org.apache.axis.client.Call;
public class PostMessageClient {
private static QName SERVICE_NAME;
private static QName PORT_TYPE;
private static QName OPERATION_NAME;
private static String SOAP_ACTION;
private static String STYLE;
private static String THIS_NAMESPACE = "http://xmlns.oracle.com/InventoryAdjustment";
static {
SERVICE_NAME = new QName(THIS_NAMESPACE, "InventoryAdjustment");
PORT_TYPE = new QName(THIS_NAMESPACE, "InventoryAdjustmentPort");
OPERATION_NAME = new QName(THIS_NAMESPACE, "process");
SOAP_ACTION = "process";
STYLE = "message";
public static void main(String[] args) {
try {
ServiceFactory serviceFactory = ServiceFactory.newInstance();
Service service = serviceFactory.createService(SERVICE_NAME);
Call call = (Call) service.createCall(PORT_TYPE);
call
.setTargetEndpointAddress("http://tigger:7777/orabpel/default/InventoryAdjustment/1.0");
call.setProperty(Call.SOAPACTION_USE_PROPERTY, Boolean.TRUE);
call.setProperty(Call.SOAPACTION_URI_PROPERTY, SOAP_ACTION);
call.setProperty(Call.OPERATION_STYLE_PROPERTY, STYLE);
call.setOperationName(OPERATION_NAME);
String xmlStr = "<Request xmlns=\"http://e1.oracle.com/IAM\"><MessageHeader><Operation>update</Operation></MessageHeader><MessageDetail xmlns=\"\"><szSecondaryUoM_UOM2/></MessageDetail></Request>";
System.out.println("PostMessageClient - calling");
String ret = (String) call.invoke(new Object[] { xmlStr });
System.out.println("ret = " + ret);
} catch (SOAPFaultException e) {
System.err.println("Generated fault: ");
System.out.println(" Fault Code = " + e.getFaultCode());
System.out.println(" Fault String = " + e.getFaultString());
} catch (JAXRPCException e) {
System.err.println("JAXRPC Exception: " + e.getMessage());
} catch (ServiceException e) {
System.err.println("Service Exception: " + e.getMessage());
} catch (Exception e) {
System.err.println("Service Exception: " + e.getMessage());
}Just a tip: Use a tool as SoapUI to findout the correct SOAP request and related attributes for the SOAP request.
Marc
http://orasoa.blogspot.com -
URGENT: Problem generating Client of BPEL process using Axis WSDL2Java
Hi,
I have a BPEL process running fine using BPEL console.
Now I want to create a Java client to invoke it.
I try to generate the stub using axis WSDL2Java.
But i can't generate it. I got the problem
{http://schemas.xmlsoap.org/ws/2004/08/addressing}Action already exists
java.io.IOException: Type {http://car.webservices}CarRentalResult is referenced
but not defined.
at org.apache.axis.wsdl.symbolTable.SymbolTable.checkForUndefined(Symbol
Table.java:665)
at org.apache.axis.wsdl.symbolTable.SymbolTable.add(SymbolTable.java:545
at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.jav
a:518)
at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.jav
a:495)
at org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:361)
at java.lang.Thread.run(Unknown Source)
I have used some complexType of the web services in my BPEL process.
I guess the parser can't resolve where it is...is it?
I wonder what I should do to make the parser know where to find that type.
Do I have to specify anything more in my BPEL process?
Here is the WSDL of my BPEL process
<?xml version="1.0" encoding="UTF-8"?>
<definitions
name="TravelPlanner"
targetNamespace="http://travelplanner.bpel"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://travelplanner.bpel"
xmlns:car="http://car.webservices"
xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:hotel="http://hotel.webservices"
xmlns:flight="http://flight.webservices"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:bill="http://bill"
>
<types>
<schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://travelplanner.bpel"
xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://bill"/>
<import location="http://localhost:8080/axis/services/CarRentalService?wsdl" namespace="http://car.webservices"/>
<import location="http://localhost:8080/axis/services/HotelBookingService?wsdl"
namespace="http://hotel.webservices"/>
<import location="http://localhost:8080/axis/services/FlightBookingService?wsdl"
namespace="http://flight.webservices"/>
<element name="Hotel" type="hotel:Hotel"/>
<element name="HotelBookingResult" type="hotel:HotelBookingResult"/>
<element name="Vehicle" type="car:Vehicle"/>
<element name="CarRentalResult" type="car:CarRentalResult"/>
<element name="Flight" type="flight:Flight"/>
<element name="FlightBookingResult" type="flight:FlightBookingResult"/>
<element name="TravelPlannerRequest">
<complexType>
<sequence>
<element name="from_airport" type="string"/>
<element name="to_airport" type="string"/>
<element name="travel_city" type="string"/>
<element name="travel_country" type="string"/>
<element name="leave_date" type="dateTime"/>
<element name="return_date" type="dateTime"/>
<element name="no_of_traveler" type="int"/>
<element name="traveler_firstname" type="flight:ArrayOf_xsd_string"/>
<element name="traveler_lastname" type="flight:ArrayOf_xsd_string"/>
<element name="billingInfo" type="bill:Bill"/>
<element name="flightEndpointURI" type="string"/>
<element name="hotelEndpointURI" type="string"/>
<element name="carEndpointURI" type="string"/>
</sequence>
</complexType>
</element>
<element name="TravelPlannerResponse">
<complexType>
<sequence>
<element name="flight_go" type="flight:Flight"/>
<element name="flight_back" type="flight:Flight"/>
<element name="hotel" type="hotel:Hotel"/>
<element name="car" type="car:Vehicle"/>
<element name="paymentInfo" type="bill:Bill"/>
<element name="charged_amount" type="float"/>
</sequence>
</complexType>
</element>
</schema>
<xsd:schema xmlns="http://www.w3.org/2000/10/XMLSchema">
<xsd:import namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing" schemaLocation="http://schemas.xmlsoap.org/ws/2004/08/addressing"/>
</xsd:schema>
</types>
<message name="TravelPlannerResponseMessage">
<part name="payload" element="tns:TravelPlannerResponse"/>
</message>
<message name="TravelPlannerRequestMessage">
<part name="payload" element="tns:TravelPlannerRequest"/>
</message>
<portType name="TravelPlanner">
<operation name="process">
<input message="tns:TravelPlannerRequestMessage"/>
<output message="tns:TravelPlannerResponseMessage"/>
</operation>
</portType>
<binding name="TravelPlannerBinding" type="tns:TravelPlanner">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="process">
<soap:operation style="document" soapAction="process"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="TravelPlanner">
<port name="TravelPlannerPort" binding="tns:TravelPlannerBinding">
<soap:address location="http://angel:9700/orabpel/default/TravelPlanner/1.0"/>
</port>
</service>
<plnk:partnerLinkType name="TravelPlanner">
<plnk:role name="TravelPlannerProvider">
<plnk:portType name="tns:TravelPlanner"/>
</plnk:role>
</plnk:partnerLinkType>
</definitions>
Could somebody help me?i got it worked out. sorry.
just forgot to import wsdl files. -
Error during calling BPEL Process Using Oracle BPEL Process Manager Client
hi,
I have the following error during Calling BPel process and I can not detect the reason :
Exception in thread "main" java.lang.NoClassDefFoundError: javax/ejb/EJBException
at com.oracle.bpel.client.util.ExceptionUtils.handleServerException(ExceptionUtils.java:76)
at com.oracle.bpel.client.delivery.DeliveryService.getDeliveryBean(DeliveryService.java:254)
at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:83)
at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:53)
at portlet.BPELProcess.startProcess(BPELProcess.java:68)
at portlet.BPELProcess.main(BPELProcess.java:89)
My Code :
locator = new Locator("default", "welcome1");
deliveryService = (IDeliveryService)locator.lookupService(IDeliveryService.SERVICE_NAME);
String SchemaInputXML = "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\n" +
" <soap:Header/>\n" +
" <soap:Body xmlns:ns1=\"http://www.globalcompany.com/ns/sales\">\n" +
" <ns1:User>\n" +
" <ns1:FirstName>787878</ns1:FirstName>\n" +
" <ns1:LastName>ujfyytytry</ns1:LastName>\n" +
" </ns1:User>\n" +
" </soap:Body>\n" +
"</soap:Envelope>\n";
NormalizedMessage nm = new NormalizedMessage();
nm.addPart("payload", SchemaInputXML);
deliveryService.request("userBPEL", "initiate", nm); --> here exception appear
userBPEL is my Process Name
initiate is BPel methodMessage was edited by:
Marc Kelderman -
Problem in invoking a BPEL flow using java client
Hi,
We are new to BPEL. We tried invoking a flow (assign, invoke, assign) from a java client and we are facing the following exception :
=========================
Exception in thread "main" AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: com.oracle.bpel.client.delivery.ReceiveTimeOutException: Waiting f
or response has timed out. The conversation id is null. Please check the process
instance for detail.
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}hostname: alk3wks30a
com.oracle.bpel.client.delivery.ReceiveTimeOutException: Waiting for response ha
s timed out. The conversation id is null. Please check the process instance for
detail.
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder
.java:251)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.
java:168)
at org.apache.axis.encoding.DeserializationContextImpl.endElement(Deseri
alizationContextImpl.java:1001)
at org.apache.crimson.parser.Parser2.maybeElement(Unknown Source)
at org.apache.crimson.parser.Parser2.content(Unknown Source)
at org.apache.crimson.parser.Parser2.maybeElement(Unknown Source)
at org.apache.crimson.parser.Parser2.content(Unknown Source)
at org.apache.crimson.parser.Parser2.maybeElement(Unknown Source)
at org.apache.crimson.parser.Parser2.parseInternal(Unknown Source)
at org.apache.crimson.parser.Parser2.parse(Unknown Source)
at org.apache.crimson.parser.XMLReaderImpl.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at org.apache.axis.encoding.DeserializationContextImpl.parse(Deserializa
tionContextImpl.java:242)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:538)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:377)
at org.apache.axis.client.Call.invokeEngine(Call.java:2545)
at org.apache.axis.client.Call.invoke(Call.java:2515)
at org.apache.axis.client.Call.invoke(Call.java:2210)
at org.apache.axis.client.Call.invoke(Call.java:2133)
at org.apache.axis.client.Call.invoke(Call.java:1656)
at SampleClient.initiate(SampleClient.java:87)
at SampleClient.main(SampleClient.java:126)
==========================================================
Here is our java client.
import javax.xml.namespace.QName;
import javax.xml.rpc.JAXRPCException;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.Service;
import javax.xml.rpc.ServiceException;
import javax.xml.rpc.ServiceFactory;
import javax.xml.rpc.encoding.XMLType;
import javax.xml.rpc.soap.SOAPFaultException;
import org.apache.axis.client.Call;
* @version 2.0 $Date: 07-mar-2005.05:07:45 $
* @author Copyright (c) 2004 by Oracle. All Rights Reserved.
public class SampleClient
private static QName SERVICE_NAME;
private static QName PORT_TYPE;
private static QName OPERATION_NAME;
private static String SOAP_ACTION;
private static String STYLE;
private static String THIS_NAMESPACE = "http://xmlns.oracle.com/Hello";
private static String PARAMETER_NAMESPACE = "http://xmlns.oracle.com/Hello";
private String location;
static
SERVICE_NAME = new QName(THIS_NAMESPACE,"Hello");
PORT_TYPE = new QName(THIS_NAMESPACE,"HelloPort") ;
OPERATION_NAME = new QName(THIS_NAMESPACE,"process");
SOAP_ACTION = "process";
STYLE = "document";
public void setLocation(String location)
this.location = location;
public void initiate() throws Exception
try
/* Create Service and Call object */
ServiceFactory serviceFactory = ServiceFactory.newInstance();
Service service = serviceFactory.createService( SERVICE_NAME );
Call call = (Call)service.createCall( PORT_TYPE );
/* Set all of the stuff that would normally come from WSDL */
call.setTargetEndpointAddress( location );
call.setProperty(Call.SOAPACTION_USE_PROPERTY, Boolean.TRUE);
call.setProperty(Call.SOAPACTION_URI_PROPERTY, SOAP_ACTION);
call.setProperty( Call.OPERATION_STYLE_PROPERTY , STYLE );
call.setOperationName(OPERATION_NAME);
call.addParameter(new QName(PARAMETER_NAMESPACE,"input"), XMLType.XSD_STRING, ParameterMode.IN);
//call.setReturnType(new QName(PARAMETER_NAMESPACE,XMLType.XSD_STRING));
call.setReturnType(new QName("http://www.w3.org/2001/XMLSchema","string"));
Object[] params = new Object[1];
params[0] = new String("Sanju");
/* Invoke the service */
String result = (String)call.invoke(params);
System.out.println( "UseStockReviewSheet BPEL process initiated"+ result );
catch (SOAPFaultException e)
System.err.println("Generated fault: ");
System.out.println (" Fault Code = " + e.getFaultCode());
System.out.println (" Fault String = " + e.getFaultString());
catch (JAXRPCException e)
System.err.println("JAXRPC Exception: " + e.getMessage());
catch (ServiceException e)
System.err.println("Service Exception: " + e.getMessage());
public static void main(String[] args) throws Exception
//String symbol = "ORCL";
String location = "http://localhost:1000/orabpel/default/Hello/1.0";
SampleClient client = new SampleClient();
/* if(args.length == 1)
symbol = args[0];
else if(args.length ==2)
location = args[0];
symbol = args[1];
client.setLocation( location );
client.initiate();
Please help us in fixing the problem
Thanks In AdvanceHi,
Thanks a lot for your reply. When we tested the process flow in BPEL console it is giving desired output. The exception trace in the dos console is as following
======================================
06/07/04 18:08:01 at com.collaxa.cube.engine.ext.wmp.BPELAssignWMP.evalFro
mValue(BPELAssignWMP.java:490)
06/07/04 18:08:01 at com.collaxa.cube.engine.ext.wmp.BPELAssignWMP.__execu
teStatements(BPELAssignWMP.java:122)
06/07/04 18:08:01 at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perfo
rm(BPELActivityWMP.java:188)
06/07/04 18:08:01 at com.collaxa.cube.engine.CubeEngine.performActivity(Cu
beEngine.java:3408)
06/07/04 18:08:01 at com.collaxa.cube.engine.CubeEngine.handleWorkItem(Cub
eEngine.java:1836)
06/07/04 18:08:01 at com.collaxa.cube.engine.dispatch.message.instance.Per
formMessageHandler.handleLocal(PerformMessageHandler.java:75)
06/07/04 18:08:01 at com.collaxa.cube.engine.dispatch.DispatchHelper.handl
eLocalMessage(DispatchHelper.java:166)
06/07/04 18:08:01 at com.collaxa.cube.engine.dispatch.DispatchHelper.sendM
emory(DispatchHelper.java:252)
06/07/04 18:08:01 at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEng
ine.java:5438)
06/07/04 18:08:01 at com.collaxa.cube.engine.CubeEngine.createAndInvoke(Cu
beEngine.java:1217)
06/07/04 18:08:01 at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.creat
eAndInvoke(CubeEngineBean.java:120)
06/07/04 18:08:01 at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.syncC
reateAndInvoke(CubeEngineBean.java:153)
06/07/04 18:08:01 at ICubeEngineLocalBean_StatelessSessionBeanWrapper0.syn
cCreateAndInvoke(ICubeEngineLocalBean_StatelessSessionBeanWrapper0.java:486)
06/07/04 18:08:01 at com.collaxa.cube.engine.delivery.DeliveryHandler.init
ialRequestAnyType(DeliveryHandler.java:520)
06/07/04 18:08:01 at com.collaxa.cube.engine.delivery.DeliveryHandler.init
ialRequest(DeliveryHandler.java:435)
06/07/04 18:08:01 at com.collaxa.cube.engine.delivery.DeliveryHandler.requ
est(DeliveryHandler.java:132)
06/07/04 18:08:01 at com.collaxa.cube.ws.soap.providers.CXSOAPProvider.pro
cessBPELMessage(CXSOAPProvider.java:632)
06/07/04 18:08:01 at com.collaxa.cube.ws.soap.providers.CXSOAPProvider.inv
oke(CXSOAPProvider.java:133)
06/07/04 18:08:01 at org.collaxa.thirdparty.apache.axis.strategies.Invocat
ionStrategy.visit(InvocationStrategy.java:32)
06/07/04 18:08:01 at org.collaxa.thirdparty.apache.axis.SimpleChain.doVisi
ting(SimpleChain.java:118)
06/07/04 18:08:01 at org.collaxa.thirdparty.apache.axis.SimpleChain.invoke
(SimpleChain.java:83)
06/07/04 18:08:01 at org.collaxa.thirdparty.apache.axis.handlers.soap.SOAP
Service.invoke(SOAPService.java:450)
06/07/04 18:08:01 at org.collaxa.thirdparty.apache.axis.server.AxisServer.
invoke(AxisServer.java:285)
06/07/04 18:08:01 at org.collaxa.thirdparty.apache.axis.transport.http.Axi
sServlet.doPost(AxisServlet.java:653)
06/07/04 18:08:01 at javax.servlet.http.HttpServlet.service(HttpServlet.ja
va:760)
06/07/04 18:08:01 at org.collaxa.thirdparty.apache.axis.transport.http.Axi
sServletBase.service(AxisServletBase.java:301)
06/07/04 18:08:01 at com.collaxa.cube.fe.CollaxaServlet.service(CollaxaSer
vlet.java:134)
06/07/04 18:08:01 at javax.servlet.http.HttpServlet.service(HttpServlet.ja
va:853)
06/07/04 18:08:01 at com.evermind.server.http.ServletRequestDispatcher.inv
oke(ServletRequestDispatcher.java:824)
06/07/04 18:08:01 at com.evermind.server.http.ServletRequestDispatcher.for
wardInternal(ServletRequestDispatcher.java:330)
06/07/04 18:08:01 at com.evermind.server.http.HttpRequestHandler.processRe
quest(HttpRequestHandler.java:830)
06/07/04 18:08:01 at com.evermind.server.http.HttpRequestHandler.run(HttpR
equestHandler.java:285)
06/07/04 18:08:01 at com.evermind.server.http.HttpRequestHandler.run(HttpR
equestHandler.java:126)
06/07/04 18:08:01 at com.evermind.util.ReleasableResourcePooledExecutor$My
Worker.run(ReleasableResourcePooledExecutor.java:186)
06/07/04 18:08:01 at java.lang.Thread.run(Thread.java:534)
<2006-07-04 18:08:01,441> <ERROR> <default.collaxa.cube.xml> com.oracle.bpel.cli
ent.BPELFault: faultName: {{http://schemas.xmlsoap.org/ws/2003/03/business-proce
ss/}selectionFailure}
messageType: {null}
parts: {{summary=<summary>empty variable/expression result.
xpath variable/expression expression "/client:HelloProcessRequest/client:input"
is empty at line 37, when attempting reading/copying it.
Please make sure the variable/expression result "/client:HelloProcessRequest/cli
ent:input" is not empty.
</summary>}}
==========================================
And the Error logging in domain.log is
<2006-07-04 18:08:01,441> <ERROR> <default.collaxa.cube.xml> com.oracle.bpel.client.BPELFault: faultName: {{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure}
messageType: {null}
parts: {{summary=<summary>empty variable/expression result.
xpath variable/expression expression "/client:HelloProcessRequest/client:input" is empty at line 37, when attempting reading/copying it.
Please make sure the variable/expression result "/client:HelloProcessRequest/client:input" is not empty.
</summary>}}
Wating for ur response.
Thank you. -
Invoking ALDSP 3.0 Services using Axis
Hi All,
I have exposed some services using ALDSP 3 studio which returns multiple records. These are the steps I followed:
1) Created a Physical Data Service using Relational DB (Oracle 9i). Imported some tables like CUSTOMERS, ORDERS etc.
2) Then opened ORDERS.ds and added a new Operation called getAllOrders() which returns all the orders in the DB.
3) I created a Web Service Map and tested the webservice in ALDSP. It works fine.
4) I created a WSDL out of it and then If I try to access it from Axis Web Service Client as shown below... It blows up with the exception
URL url = new URL("http://10.142.29.3:8001/RetrieveOrderProject/ALDSPWebService/DSP-INF/Logical/OrderDataService.ws");
OrderDataServiceSoapServiceLocator locator = new OrderDataServiceSoapServiceLocator();
OrderDataServicePT order = locator.getOrderDataServiceSoapPort(url);
DSP_INF._MSL_ORDER[] orderArr = order.getAllOrders();
At this point it throws:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.lang.ArrayStoreException: [LDSP_INF._MSL_ORDER;
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:java.lang.ArrayStoreException: [LDSP_INF._MSL_ORDER;
at org.apache.axis.utils.JavaUtils.convert(JavaUtils.java:493)
at org.apache.axis.client.Call.invoke(Call.java:2599)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at DSP_INF.OrderDataServiceSoapBindingStub.getAllOrders(OrderDataServiceSoapBindingStub.java:311)
at com.verisign.webservice.WebServiceTest.main(WebServiceTest.java:26)
{http://xml.apache.org/axis/}hostname:BAN5RJKOTY-D1
java.lang.ArrayStoreException: [LDSP_INF._MSL_ORDER;
at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
at org.apache.axis.client.Call.invoke(Call.java:1828)
at DSP_INF.OrderDataServiceSoapBindingStub.getAllOrders(OrderDataServiceSoapBindingStub.java:311)
at com.verisign.webservice.WebServiceTest.main(WebServiceTest.java:26)
Caused by: java.lang.ArrayStoreException: [LDSP_INF._MSL_ORDER;
at org.apache.axis.utils.JavaUtils.convert(JavaUtils.java:493)
at org.apache.axis.client.Call.invoke(Call.java:2599)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
... 2 more
Any help in this regard is appreciated.
Thanks,
RamThanks mreiche,
I have created a logical service with 3 operations and all the 3 operations returns array. The return type in ALDSP is of type SF_CUSOTMERS. This schema is generated by ALDSP for a table SF_CUSTOMERS. When I test this in ALDSP, all the 3 services gives me around 4 to 5 records.
However when I try to access this using axis, it fails.
One more strange thing is the WSDL generated from ALDSP has some bugs in it when I try to validate the WSDL in ALDSP studio. I will send you the WSDL to your personal mail ID. Can you please guide me further and help me in this.
Thanks,
Ram -
2 way SSL in web services [using Axis]
Hi,
Can anyone tell me how to implement 2 way SSL handshake before making a web service call , using Axis.
This is what i have to start off with:
1. wsdl, which i use to create the client side files [using eclipse] do meet the business needs.
2. I also have my [client] key and cert and the servers root cert, required for SSL handshake
Thanks for the help,
SandyHi,
Do you have created a Service Key provider and attached the same to proxy service.
Oracle Service Bus verifies that you have associated a service key provider with the proxy service and that the service key provider contains a key-pair binding that can be used as a digital signature.
Service Key Providers
Regards,
Abhinav -
How to call web service using J2SE 1.3?
Dear All,
i have developed a web service by jdev 10.1.3 (JAX-RPC with web service security
enabled).
i generate the ws proxy (jdev 10.1.3) and run it with wsclient_extended.jar (required JDK 1.4.1 or above??).
but one of my client say he has to use J2SE 1.3.x (as OS=AIX 4.3 that without J2SE
1.4.x ), could anyone tell me how can generate ws proxy (with supporting
library) for jdk 1.3.x?
if oracle don't have such library / tools, any third party tools / library available?
thank you.
lspI'm found answer:
Java and SAP Portal blog: How to call web service from java code example -
Calling Tuxedo Service using BEA Jolt.
I'm trying to call Tuxedo service from java stored procedure using BEA JOLT.My normal java client works fine but when i use the same client as java stored procedure i get following error message :
can not connect to any //lucy:9021(host:port)
Reason:Nwhdlr:can not open socket
I've successfully loaded all required JOLT jar files using loadjava and created the procedure successfully .Java code is given below :
import bea.jolt.*;
import java.sql.*;
public class JoltToTux
public static void callTuxService() throws Exception
JoltSession session;
JoltSessionAttributes sattr;
JoltRemoteService toupper;
JoltTransaction trans;
String userName=null;
String userPassword=null;
String appPassword=null;
String userRole=null;
String outstr;
try {
sattr = new JoltSessionAttributes();
sattr.setString(sattr.APPADDRESS, "//lucy:9021");
sattr.setInt(sattr.IDLETIMEOUT, 300);
session = new JoltSession(sattr, userName, userRole,userPassword, appPassword);
toupper = new JoltRemoteService ("CB_EXESUB", session);
toupper.setString("CLFY_SUB", "PingSrvr");
toupper.call(null);
System.out.println( "Call to Tuxedo complete" );
outstr = toupper.getStringDef("WF_MESSAGE","" );
System.out.println("return string : " + outstr);
session.endSession();
System.exit(0);
} //end of try
catch (Exception e) {
// System.err.println(e.getMessage());}
e.printStackTrace();
} // end main
public static void main( String args[] ) {
try {
JoltToTux jt = new JoltToTux();
jt.callTuxService();
catch ( Exception e0 ) {
e0.printStackTrace();
} // end ToUpper
thanks
anuragAms,
You can't do that with JOLT. You will need to use the WTC product,
currently in beta - see WTC Questions and Answers
Regards,
Peter.
Got a Question? Ask BEA at http://askbea.bea.com
The views expressed in this posting are solely those of the author, and
BEA
Systems, Inc. does not endorse any of these views.
BEA Systems, Inc. is not responsible for the accuracy or completeness of
the
information provided
and assumes no duty to correct, expand upon, delete or update any of the
information contained in this posting.
Ams wrote:
Hi Manoj,
I want to call a tuxedo service and also want to update
database (using entity beabs) in same transaction so I
can't use AUTOTRAN , Am I right ?
I am using bea.jolt.pool.SessionPool's startTransaction
method to start a transaction and passing this
to SessionPool's call method.
Ams.
"Manoj SASIDHARAN" <[email protected]> wrote:
Hello Ams,
Could u plz give more information abt the usage scenario. Another way
to test
would be to put AUTOTRAN=Y for the service in question.
HTH
regards
MS
"Ams" <[email protected]> wrote:
Hi,
I am calling Tuxedo service from ejb using jolt.
I want the service call in transaction started in ejb.
I am getting following error.
LIBTUX_CAT:481: ERROR: Service xa_start returned -7
Does jolt support transaction ?
Ams
[att1.html]
Maybe you are looking for
-
Facetime and Messages problems,
Hi guys, i've a lot of troubles with Facetime and Messages connections by my apple ID. Somtimes, is appeared a NETWORK ERROR MESSAGE, but my network is okay and i can connect to these features by Iphone. I've read the support, but i didn't correct th
-
Plant Maintenance and Work Clearance Management
Where can i find functionality info on Plant Maintenance and Work Clearance Management. How can these functionalities be activated - is there a switch?
-
Help converting RGB Images to CMYK?
I am working with a CMYK Freehand design, and it includes a cut out image on top layer. The image is in RGB. When I export it, I am getting a colour shift on the transparent areas. Should I be working with a CMYK cut out image? If so, how do I conver
-
Adjustment Brush, External Editor and Export Version
hello, I am considering switching from lightroom to Aperture but I am having a major issue: I am working on .DNG files. I apply all the adjustments that I need, then either send the image to PSCS4 (I tried both tiff and PSD), or export it through the
-
Use Slider to control timeline of tweened animation
I have 3 pictures and animated it using motion tween as usual. Now, I want to create a slider so that user can drag along forward and backward so that the tweened animation moves accordingly. Eg the whole motion ends in 10 sec If user drag slider to