Async invocation of service

I need to make conversational web service A periodically make an async call to web service B. WS A has a TimerControl and I need to call WS B from the timer callback handler.
I tried creating a WS control for service B, but that does not provide the async methods.
Then I stumbled upon the BEA document titled "Programming Web
Services for WebLogic Server" and followed the sample in the section "Writing the Asynchronous JWS File". I followed the example to a point, but it seems to be written from the perspective of someone working at the command line, not in the Workshop IDE. The problem here is that the class with the async flavor of the desired method does not seem to exists.
I am working with Workshop9.2.
Does anyone know if the IDE is supposed to generate all these files for you, or do I have to roll my own build.xml?
Thanks.
FYI: Here is the relevant snippet from the doc referenced above
My question refers to the class used in the line
private StockQuotePortType port;
Writing the Asynchronous JWS File
The following example shows a simple JWS file that implements a Web Service called
StockQuoteClient that has a single method, asyncOperation, that in turn asynchronously
invokes the getQuote method of the StockQuote service. The Java code in bold is described
“Coding Guidelines for Invoking a Web Service Asynchronously” on page 6-23. See “Example
of a Synchronous Invoke” on page 6-25 to see how the asynchronous invoke differs from a
synchronous invoke of the same operation.
package examples.webservices.async_req_res;
import weblogic.jws.WLHttpTransport;
import weblogic.jws.ServiceClient;
import weblogic.jws.AsyncResponse;
import weblogic.jws.AsyncFailure;
import weblogic.wsee.async.AsyncPreCallContext;
import weblogic.wsee.async.AsyncCallContextFactory;
import weblogic.wsee.async.AsyncPostCallContext;
import javax.jws.WebService;
import javax.jws.WebMethod;
import examples.webservices.async_req_res.StockQuotePortType;
import java.rmi.RemoteException;
@WebService(name="StockQuoteClientPortType",
serviceName="StockQuoteClientService",
targetNamespace="http://examples.org/")
@WLHttpTransport(contextPath="asyncClient",
serviceUri="StockQuoteClient",
portName="StockQuoteClientServicePort")
* Client Web Service that invokes the StockQuote Service asynchronously.
public class StockQuoteClientImpl {
@ServiceClient(wsdlLocation="http://localhost:7001/async/StockQuote?WSDL",
serviceName="StockQuoteService", portName="StockQuote")
private StockQuotePortType port;
@WebMethod
public void asyncOperation (String symbol) throws RemoteException {
AsyncPreCallContext apc = AsyncCallContextFactory.getAsyncPreCallContext();
apc.setProperty("symbol", symbol);
try {
port.getQuoteAsync(apc, symbol );
System.out.println("in getQuote method of StockQuoteClient WS");
} catch (RemoteException re) {
System.out.println("RemoteException thrown");
throw new RuntimeException(re);
@AsyncResponse(target="port", operation="getQuote")
public void onGetQuoteAsyncResponse(AsyncPostCallContext apc, int quote) {
System.out.println("-------------------");
System.out.println("Got quote " + quote );
System.out.println("-------------------");
@AsyncFailure(target="port", operation="getQuote")
public void onGetQuoteAsyncFailure(AsyncPostCallContext apc, Throwable e) {
System.out.println("-------------------");
e.printStackTrace();
System.out.println("-------------------");
}

For the post URI - shouldn't it be
http://localhost:port/<context-root>/helloworld
instead of:
http://localhost:port/<context-root>/helloworld/post

Similar Messages

  • Asynchronous Web Service Request-Reply Invocation from Service Control

    Hi all
    I need to invoke a reliable web service call using a Service Control. when trying to make that invocation for an operation that returns data. It gives the following exception. For the methods that marked with @Oneway() annotation in the service implementation, it works.
    javax.xml.rpc.JAXRPCException: Reliable messaging will only work with one way messages or asynchronous request/response messages.
    </bea_fault:stacktrace></detail>]; nested exception is:
    weblogic.wsee.jaxrpc.soapfault.WLSOAPFaultException: Reliable messaging will only work with one way messages or asynchronous request/response messages.
    Caused by: java.rmi.RemoteException: SOAPFaultException - FaultCode [{http://schemas.xmlsoap.org/soap/envelope/}Server] FaultString [Reliable messaging will only work with one way messages or asynchronous request/response messages.
    ] FaultActor [null] Detail [<detail><bea_fault:stacktrace xmlns:bea_fault="http://www.bea.com/servers/wls70/webservice/fault/1.0.0">javax.xml.rpc.JAXRPCException: Reliable messaging will only work with one way messages or asynchronous request/response messages.
    </bea_fault:stacktrace></detail>]; nested exception is:
    weblogic.wsee.jaxrpc.soapfault.WLSOAPFaultException: Reliable messaging will only work with one way messages or asynchronous request/response messages.
    So I need to make Asynchronous Request-Reply Invocation from Service Control, which is apparently doesn't happen in this case.
    Thanks

    Hi HP,
    I included the following snippet in job source:
    //Set completion strategy to external
    jcsJobContext.setCompletionStrategy(CompletionStrategyType.External);
    I get the following error when compiled:
    JCS-102183: Compile failed for Job Definition SOAP_GlobalWeatherSoap_GetCitiesByCountry (Latest Version): SOAP_GlobalWeatherSoap_GetCitiesByCountry.java:user code 24:40:cannot find symbol symbol : variable CompletionStrategyType location: class com.redwood.scheduler.custom.SOAP_GlobalWeatherSoap_GetCitiesByCountry jcsJobContext.setCompletionStrategy(CompletionStrategyType.External);
    I am not able to find any information from the API documentation on the method setCompletionStrategy, so I'm not able to figure what type of variable am i passing, so that i can initialize it. Please shed some light on it.
    Also there is no path called Scripting > Built-In Web Services
    I have only Scripting>Published Web Services
    Thanks
    Nanda

  • Error in invocating the service

    I have a problem in writing a Java program and calling the service using invocation API. The service is a very simple one, which has one input parameter (String) and one output parameter (XML). When I ran the Java program, I got the following error:
    ALC-DSC-000-000: com.adobe.idp.dsc.DSCRuntimeException: Internal error.
    at com.adobe.idp.dsc.provider.impl.soap.axis.sdk.SoapAxisDispatcher.doSend(SoapAxisDispatche r.java:102)
    at com.adobe.idp.dsc.provider.impl.base.AbstractMessageDispatcher.send(AbstractMessageDispat cher.java:57)
    at com.adobe.idp.dsc.clientsdk.ServiceClient.invoke(ServiceClient.java:208)
    at adobe.lc.sdk.UploadForm.invokeMyService(UploadForm.java:75)
    at adobe.lc.sdk.UploadForm.main(UploadForm.java:55)
    Caused by: rO0ABXNyAB1vcmcuYXBhY2hlLnNvYXAuU09BUEV4Y2VwdGlvbh5POjjsHQpiAgACTAAJZmF1bHRDb2RldAASTGphd mEvbGFuZy9TdHJpbmc7TAAPdGFyZ2V0RXhjZXB0aW9udAAVTGphdmEvbGFuZy9UaHJvd2FibGU7eHIAE2phdmEubGF uZy5FeGNlcHRpb27Q/R8+GjscxAIAAHhyABNqYXZhLmxhbmcuVGhyb3dhYmxl1cY1Jzl3uMsDAANMAAVjYXVzZXEAf gACTAANZGV0YWlsTWVzc2FnZXEAfgABWwAKc3RhY2tUcmFjZXQAHltMamF2YS9sYW5nL1N0YWNrVHJhY2VFbGVtZW5 0O3hwcQB+AAZ0AEdBRE1DMDAxMUU6IFRoZSBTT0FQIHJlbW90ZSBwcm9jZWR1cmUgY2FsbCAoUlBDKSBjYW5ub3QgY mUgdW5tYXJzaGFsbGVkLnVyAB5bTGphdmEubGFuZy5TdGFja1RyYWNlRWxlbWVudDsCRio8PP0iOQIAAHhwAAAABnN yABtqYXZhLmxhbmcuU3RhY2tUcmFjZUVsZW1lbnRhCcWaJjbdhQIABEkACmxpbmVOdW1iZXJMAA5kZWNsYXJpbmdDb GFzc3EAfgABTAAIZmlsZU5hbWVxAH4AAUwACm1ldGhvZE5hbWVxAH4AAXhwAAAAsnQALmNvbS5pYm0ud3MubWFuYWd lbWVudC5jb25uZWN0b3Iuc29hcC5TT0FQVXRpbHN0AA5TT0FQVXRpbHMuamF2YXQAD2V4dHJhY3RTb2FwQ2FsbHNxA H4ACgAAAHB0ADJjb20uaWJtLndzLm1hbmFnZW1lbnQuY29ubmVjdG9yLnNvYXAuU09BUENvbm5lY3RvcnQAElNPQVB Db25uZWN0b3IuamF2YXQAB3NlcnZpY2VzcQB+AAoAAAA3dAAzY29tLmlibS53cy5tYW5hZ2VtZW50LmNvbm5lY3Rvc i5zb2FwLlNPQVBDb25uZWN0aW9udAATU09BUENvbm5lY3Rpb24uamF2YXQADWhhbmRsZVJlcXVlc3RzcQB+AAoAAAK odAAeY29tLmlibS53cy5odHRwLkh0dHBDb25uZWN0aW9udAATSHR0cENvbm5lY3Rpb24uamF2YXQAFHJlYWRBbmRIY W5kbGVSZXF1ZXN0c3EAfgAKAAAB5HQAHmNvbS5pYm0ud3MuaHR0cC5IdHRwQ29ubmVjdGlvbnQAE0h0dHBDb25uZWN 0aW9uLmphdmF0AANydW5zcQB+AAoAAAW9dAAhY29tLmlibS53cy51dGlsLlRocmVhZFBvb2wkV29ya2VydAAPVGhyZ WFkUG9vbC5qYXZhdAADcnVueHQAGVNPQVAtRU5WOlNlcnZlci5FeGNlcHRpb25zcgAiamF2YS5sYW5nLklsbGVnYWx Bcmd1bWVudEV4Y2VwdGlvbrWJc9N9Zo+8AgAAeHIAGmphdmEubGFuZy5SdW50aW1lRXhjZXB0aW9unl8GRwo0g+UCA AB4cQB+AANxAH4AJnQIrGNvbS5hZG9iZS5pZHAuZHNjLnByb3ZpZGVyLmltcGwuZWpiLkVqYlJlcXVlc3RIb2xkZXI KU2VydmVyIHN0YWNrIHRyYWNlCkpNWFRyYW5zZm9ybUV4Y2VwdGlvbiBqYXZhLmxhbmcuQ2xhc3NOb3RGb3VuZEV4Y 2VwdGlvbjogY29tLmFkb2JlLmlkcC5kc2MucHJvdmlkZXIuaW1wbC5lamIuRWpiUmVxdWVzdEhvbGRlcgoJYXQgamF 2YS5uZXQuVVJMQ2xhc3NMb2FkZXIuZmluZENsYXNzKFVSTENsYXNzTG9hZGVyLmphdmE6NDkyKQoJYXQgY29tLmlib S53cy5ib290c3RyYXAuRXh0Q2xhc3NMb2FkZXIuZmluZENsYXNzKEV4dENsYXNzTG9hZGVyLmphdmE6MTMyKQoJYXQ gamF2YS5sYW5nLkNsYXNzTG9hZGVyLmxvYWRDbGFzcyhDbGFzc0xvYWRlci5qYXZhOjYwMykKCWF0IGNvbS5pYm0ud 3MuYm9vdHN0cmFwLkV4dENsYXNzTG9hZGVyLmxvYWRDbGFzcyhFeHRDbGFzc0xvYWRlci5qYXZhOjg3KQoJYXQgamF 2YS5sYW5nLkNsYXNzTG9hZGVyLmxvYWRDbGFzcyhDbGFzc0xvYWRlci5qYXZhOjU2OSkKCWF0IGNvbS5pYm0ud3Mub WFuYWdlbWVudC5jb25uZWN0b3IuaW50ZXJvcC5KTVhDbGFzc0xvYWRlci5sb2FkSk1YQ2xhc3MoSk1YQ2xhc3NMb2F kZXIuamF2YToyMTEpCglhdCBjb20uaWJtLndzLm1hbmFnZW1lbnQuY29ubmVjdG9yLmludGVyb3AuSk1YQ2xhc3NMb 2FkZXIubG9hZE9sZEpNWENsYXNzKEpNWENsYXNzTG9hZGVyLmphdmE6MTY1KQoJYXQgY29tLmlibS53cy5tYW5hZ2V tZW50LmNvbm5lY3Rvci5pbnRlcm9wLkpNWENsYXNzTG9hZGVyLmxvYWRDbGFzcyhKTVhDbGFzc0xvYWRlci5qYXZhO jEwMikKCWF0IGNvbS5pYm0ud3MubWFuYWdlbWVudC5jb25uZWN0b3IuaW50ZXJvcC5KTVhPYmplY3RJbnB1dFN0cmV hbS5yZXNvbHZlQ2xhc3MoSk1YT2JqZWN0SW5wdXRTdHJlYW0uamF2YTo5NSkKCWF0IGphdmEuaW8uT2JqZWN0SW5wd XRTdHJlYW0ucmVhZE5vblByb3h5RGVzYyhPYmplY3RJbnB1dFN0cmVhbS5qYXZhOjE1NjMpCglhdCBqYXZhLmlvLk9 iamVjdElucHV0U3RyZWFtLnJlYWRDbGFzc0Rlc2MoT2JqZWN0SW5wdXRTdHJlYW0uamF2YToxNDg1KQoJYXQgamF2Y S5pby5PYmplY3RJbnB1dFN0cmVhbS5yZWFkT3JkaW5hcnlPYmplY3QoT2JqZWN0SW5wdXRTdHJlYW0uamF2YToxNzE 4KQoJYXQgamF2YS5pby5PYmplY3RJbnB1dFN0cmVhbS5yZWFkT2JqZWN0MChPYmplY3RJbnB1dFN0cmVhbS5qYXZhO jEzMjQpCglhdCBqYXZhLmlvLk9iamVjdElucHV0U3RyZWFtLnJlYWRPYmplY3QoT2JqZWN0SW5wdXRTdHJlYW0uamF 2YTozNjIpCglh

    at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
    at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
    at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:10 87)
    at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
    at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(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 org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
    at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
    at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
    at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
    at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
    at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
    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 com.adobe.idp.dsc.provider.impl.soap.axis.sdk.SoapAxisDispatcher.doSend(SoapAxisDispatche r.java:100)
    ... 4 more
    The source code is:
    public class UploadForm
    public static void main(String[] args)
    try
    Properties connectionProps = new Properties();
    connectionProps.setProperty("DSC_DEFAULT_SOAP_ENDPOINT", "http://myserver:40005");
    connectionProps.setProperty("DSC_TRANSPORT_PROTOCOL", ServiceClientFactoryProperties.DSC_SOAP_PROTOCOL);
    connectionProps.setProperty("DSC_SERVER_TYPE", ServiceClientFactoryProperties.DSC_WEBSPHERE_SERVER_TYPE);
    connectionProps.setProperty("DSC_CREDENTIAL_USERNAME", "administrator");
    connectionProps.setProperty("DSC_CREDENTIAL_PASSWORD", "password");
    ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps);
    invokeMyService ( myFactory );
    catch (Exception e)
    e.printStackTrace();
    private static void invokeMyService ( ServiceClientFactory myFactory ) throws Exception
    ServiceClient serviceClient = myFactory.getServiceClient();
    HashMap parameters = new HashMap ( );
    parameters.put ( "confirmationNumber", "000000000012" );
    InvocationRequest request = myFactory.createInvocationRequest( "QueryForm", "invoke", parameters, true );
    InvocationResponse response = serviceClient.invoke( request );
    Document xmlDocument = (Document) response.getOutputParameter ( "xmlDocument" );
    The question is, I don't know if this is a client problem or on the server side. If it's the process problem, how can I tell if my process is working?

  • Parallel Flow invokes async services with incorrect parameters

    Hi
    I'm calling an async service using 2 partnerlinks in a parallel flow.
    The input variables are being assigned correctly but one of the invokes is using the wrong values.
    The problem appears to be around the use of a shared variable (Invoke_initiate_InputVariable) that is 'copied' to each of the invoke variables
    On invocation both services are iincorrectly nvoked with:
    <Invoke_initiate_InputVariable>
         <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
              <HumanTaskProcessRequest xmlns="http://itv.com/HumanTask">
                   <Production/>
                   <HumanTask>
                        <Title>Title2</Title>
                        <Priority>2</Priority>
                        <UserGroups>STC</UserGroups>
                   </HumanTask>
              </HumanTaskProcessRequest>
         </part>
    </Invoke_initiate_InputVariable>
    I can get the process to work if I remove all references to the variable Invoke_initiate_InputVariable - can anyone explain this behaviour?
    Example BPEL code:
    <process name="ParallelTest" targetNamespace="http://itv.com/ParallelTest"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:ns1="http://itv.com/HumanTask"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:client="http://itv.com/ParallelTest"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc">
    <partnerLinks>
    <partnerLink name="client" partnerLinkType="client:ParallelTest"
    myRole="ParallelTestProvider"
    partnerRole="ParallelTestRequester"/>
    <partnerLink myRole="HumanTaskRequester" name="HumanTask_1"
    partnerRole="HumanTaskProvider"
    partnerLinkType="ns1:HumanTask"/>
    <partnerLink myRole="HumanTaskRequester" name="HumanTask_2"
    partnerRole="HumanTaskProvider"
    partnerLinkType="ns1:HumanTask"/>
    </partnerLinks>
    <variables>
    <variable name="inputVariable"
    messageType="client:ParallelTestRequestMessage"/>
    <variable name="outputVariable"
    messageType="client:ParallelTestResponseMessage"/>
    <variable name="Invoke_initiate_InputVariable"
    messageType="ns1:HumanTaskRequestMessage"/>
    <variable name="Invoke_1_initiate_InputVariable"
    messageType="ns1:HumanTaskRequestMessage"/>
    <variable name="Invoke_2_initiate_InputVariable"
    messageType="ns1:HumanTaskRequestMessage"/>
    <variable name="Receive_1_onResult_InputVariable"
    messageType="ns1:HumanTaskResponseMessage"/>
    <variable name="Receive_2_onResult_InputVariable"
    messageType="ns1:HumanTaskResponseMessage"/>
    </variables>
    <sequence name="main">
    <receive name="receiveInput" partnerLink="client"
    portType="client:ParallelTest" operation="initiate"
    variable="inputVariable" createInstance="yes"/>
    <assign name="Assign_2">
    <copy>
    <from expression="'A Title'"/>
    <to variable="Invoke_initiate_InputVariable" part="payload"
    query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:Title"/>
    </copy>
    <copy>
    <from expression="5"/>
    <to variable="Invoke_initiate_InputVariable" part="payload"
    query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:Priority"/>
    </copy>
    <copy>
    <from expression="'GRA'"/>
    <to variable="Invoke_initiate_InputVariable" part="payload"
    query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:UserGroups"/>
    </copy>
    </assign>
    <flow name="Flow_1">
    <sequence name="Sequence_1">
    <assign name="Assign_1">
    <copy>
    <from variable="Invoke_initiate_InputVariable"/>
    <to variable="Invoke_2_initiate_InputVariable"/>
    </copy>
    <copy>
    <from expression="'Title2'"/>
    <to variable="Invoke_2_initiate_InputVariable"
    part="payload"
    query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:Title"/>
    </copy>
    <copy>
    <from expression="2"/>
    <to variable="Invoke_2_initiate_InputVariable"
    part="payload"
    query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:Priority"/>
    </copy>
    <copy>
    <from expression="'STC'"/>
    <to variable="Invoke_2_initiate_InputVariable"
    part="payload"
    query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:UserGroups"/>
    </copy>
    </assign>
    <invoke name="Invoke_2" partnerLink="HumanTask_2"
    portType="ns1:HumanTask" operation="initiate"
    inputVariable="Invoke_2_initiate_InputVariable"/>
    <receive name="Receive_2" partnerLink="HumanTask_2"
    portType="ns1:HumanTaskCallback" operation="onResult"
    variable="Receive_1_onResult_InputVariable"
    createInstance="no"/>
    </sequence>
    <sequence name="Sequence_1">
    <assign name="Assign_1">
    <copy>
    <from variable="Invoke_initiate_InputVariable"/>
    <to variable="Invoke_1_initiate_InputVariable"/>
    </copy>
    <copy>
    <from expression="'Title1'"/>
    <to variable="Invoke_1_initiate_InputVariable"
    part="payload"
    query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:Title"/>
    </copy>
    <copy>
    <from expression="3"/>
    <to variable="Invoke_1_initiate_InputVariable"
    part="payload"
    query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:Priority"/>
    </copy>
    <copy>
    <from expression="'NTC'"/>
    <to variable="Invoke_1_initiate_InputVariable"
    part="payload"
    query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:UserGroups"/>
    </copy>
    </assign>
    <invoke name="Invoke_1" partnerLink="HumanTask_1"
    portType="ns1:HumanTask" operation="initiate"
    inputVariable="Invoke_1_initiate_InputVariable"/>
    <receive name="Receive_1" partnerLink="HumanTask_1"
    portType="ns1:HumanTaskCallback" operation="onResult"
    variable="Receive_2_onResult_InputVariable"
    createInstance="no"/>
    </sequence>
    </flow>
    <invoke name="callbackClient" partnerLink="client"
    portType="client:ParallelTestCallback" operation="onResult"
    inputVariable="outputVariable"/>
    </sequence>
    </process>

    Thanks Marc, I've done what you suggested but it hasn't fixed the problem.
    Here is the updated process with scopes and local variables:
    <process name="ParallelTest" targetNamespace="http://itv.com/ParallelTest" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20" xmlns:ns1="http://itv.com/HumanTask" xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:bpelx="http://schemas.oracle.com/bpel/extension" xmlns:client="http://itv.com/ParallelTest" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc">
         <partnerLinks>
              <partnerLink name="client" partnerLinkType="client:ParallelTest" myRole="ParallelTestProvider" partnerRole="ParallelTestRequester"/>
              <partnerLink myRole="HumanTaskRequester" name="HumanTask_1" partnerRole="HumanTaskProvider" partnerLinkType="ns1:HumanTask"/>
              <partnerLink myRole="HumanTaskRequester" name="HumanTask_2" partnerRole="HumanTaskProvider" partnerLinkType="ns1:HumanTask"/>
         </partnerLinks>
         <variables>
              <variable name="inputVariable" messageType="client:ParallelTestRequestMessage"/>
              <variable name="outputVariable" messageType="client:ParallelTestResponseMessage"/>
              <variable name="Invoke_initiate_InputVariable" messageType="ns1:HumanTaskRequestMessage"/>
              <variable name="Receive_1_onResult_InputVariable" messageType="ns1:HumanTaskResponseMessage"/>
              <variable name="Receive_2_onResult_InputVariable" messageType="ns1:HumanTaskResponseMessage"/>
         </variables>
         <sequence name="main">
              <receive name="receiveInput" partnerLink="client" portType="client:ParallelTest" operation="initiate" variable="inputVariable" createInstance="yes"/>
              <assign name="Assign_2">
                   <copy>
                        <from expression="'A Title'"/>
                        <to variable="Invoke_initiate_InputVariable" part="payload" query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:Title"/>
                   </copy>
                   <copy>
                        <from expression="5"/>
                        <to variable="Invoke_initiate_InputVariable" part="payload" query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:Priority"/>
                   </copy>
                   <copy>
                        <from expression="'GRA'"/>
                        <to variable="Invoke_initiate_InputVariable" part="payload" query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:UserGroups"/>
                   </copy>
              </assign>
              <flow name="Flow_1">
                   <sequence name="Sequence_2">
                        <scope name="Scope_2">
                             <variables>
                                  <variable name="Invoke_2_initiate_InputVariable" messageType="ns1:HumanTaskRequestMessage"/>
                             </variables>
                             <sequence name="Sequence_2">
                                  <assign name="Assign_1">
                                       <copy>
                                            <from variable="Invoke_initiate_InputVariable"/>
                                            <to variable="Invoke_2_initiate_InputVariable"/>
                                       </copy>
                                       <copy>
                                            <from expression="'Title2'"/>
                                            <to variable="Invoke_2_initiate_InputVariable" part="payload" query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:Title"/>
                                       </copy>
                                       <copy>
                                            <from expression="2"/>
                                            <to variable="Invoke_2_initiate_InputVariable" part="payload" query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:Priority"/>
                                       </copy>
                                       <copy>
                                            <from expression="'STC'"/>
                                            <to variable="Invoke_2_initiate_InputVariable" part="payload" query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:UserGroups"/>
                                       </copy>
                                  </assign>
                                  <invoke name="Invoke_2" partnerLink="HumanTask_2" portType="ns1:HumanTask" operation="initiate" inputVariable="Invoke_2_initiate_InputVariable"/>
                                  <receive name="Receive_2" partnerLink="HumanTask_2" portType="ns1:HumanTaskCallback" operation="onResult" variable="Receive_2_onResult_InputVariable" createInstance="no"/>
                             </sequence>
                        </scope>
                   </sequence>
                   <sequence name="Sequence_1">
                        <scope name="Scope_1">
                             <variables>
                                  <variable name="Invoke_1_initiate_InputVariable" messageType="ns1:HumanTaskRequestMessage"/>
                             </variables>
                             <sequence name="Sequence_3">
                                  <assign name="Assign_1">
                                       <copy>
                                            <from variable="Invoke_initiate_InputVariable"/>
                                            <to variable="Invoke_1_initiate_InputVariable"/>
                                       </copy>
                                       <copy>
                                            <from expression="'Title1'"/>
                                            <to variable="Invoke_1_initiate_InputVariable" part="payload" query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:Title"/>
                                       </copy>
                                       <copy>
                                            <from expression="3"/>
                                            <to variable="Invoke_1_initiate_InputVariable" part="payload" query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:Priority"/>
                                       </copy>
                                       <copy>
                                            <from expression="'NTC'"/>
                                            <to variable="Invoke_1_initiate_InputVariable" part="payload" query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:UserGroups"/>
                                       </copy>
                                  </assign>
                                  <invoke name="Invoke_1" partnerLink="HumanTask_1" portType="ns1:HumanTask" operation="initiate" inputVariable="Invoke_1_initiate_InputVariable"/>
                                  <receive name="Receive_1" partnerLink="HumanTask_1" portType="ns1:HumanTaskCallback" operation="onResult" variable="Receive_1_onResult_InputVariable" createInstance="no"/>
                             </sequence>
                        </scope>
                   </sequence>
              </flow>
              <invoke name="callbackClient" partnerLink="client" portType="client:ParallelTestCallback" operation="onResult" inputVariable="outputVariable"/>
         </sequence>
    </process>

  • ESB SOAP Service Error - Mutiple levels of SOAP invocation.

    Hi,
    Does anyone have a solution to this problem,
    We are on SOA 10.1.3.1.
    I am trying to design hierarchial invocation of services, where one ESB service calling another ESB service and so on...
    Example There are 3 ESB Projects A, B and C. Project A calls B; B calls C.
    A -&gt; B -&gt; C
    In project B, I added SOAP service to directly reference/invoke service C which is already deployed. On execution, service B is successfully able to call service C. No issues.
    I did similar execise, In project A, I added SOAP service to directly invoke service B (which is internally calling service C). Deployment is successfully. On execution from service A, I am getting following error.
    Does anyone have a solution to this problem ?
    &lt;env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"&gt;&lt;env:Header/&gt;&lt;env:Body&gt;&lt;env:Fault xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"&gt;&lt;faultcode&gt;env:Server&lt;/faultcode&gt;&lt;faultstring&gt;oracle.tip.esb.server.common.exceptions.BusinessEventRetriableException: An unhandled exception has been thrown in the ESB system. The exception reported is: "oracle.tip.esb.server.common.exceptions.BusinessEventRetriableException: An unhandled exception has been thrown in the ESB system. The exception reported is: "java.util.NoSuchElementException
    at java.util.HashMap$HashIterator.nextEntry(HashMap.java:790)
    at java.util.HashMap$ValueIterator.next(HashMap.java:817)
    at oracle.tip.esb.server.common.wsif.WSIFInvokerResponse.getFirstFaultElement(Unknown Source)
    at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.handleFault(Unknown Source)
    at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.processBusinessEvent(Unknown Source)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatchNonRoutingService(Unknown Source)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(Unknown Source)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(Unknown Source)
    at oracle.tip.esb.server.service.impl.soap.EventOracleSoapProvider.raiseEvent(Unknown Source)
    at oracle.tip.esb.server.service.impl.soap.EventOracleSoapProvider.processMessage(Unknown Source)
    at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:869)
    at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:349)
    at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:460)
    at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:114)
    at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:96)
    at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:177)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:711)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)
    at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:302)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:190)
    at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    at java.lang.Thread.run(Thread.java:595)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(Unknown Source)
    at oracle.tip.esb.server.service.impl.soap.EventOracleSoapProvider.raiseEvent(Unknown Source)
    at oracle.tip.esb.server.service.impl.soap.EventOracleSoapProvider.processMessage(Unknown Source)
    at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:869)
    at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:349)
    at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:460)
    at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:114)
    at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:96)
    at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:177)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:711)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)
    at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:302)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:190)
    at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: java.util.NoSuchElementException
    at java.util.HashMap$HashIterator.nextEntry(HashMap.java:790)
    at java.util.HashMap$ValueIterator.next(HashMap.java:817)
    at oracle.tip.esb.server.common.wsif.WSIFInvokerResponse.getFirstFaultElement(Unknown Source)
    at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.handleFault(Unknown Source)
    at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.processBusinessEvent(Unknown Source)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatchNonRoutingService(Unknown Source)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(Unknown Source)
    ... 20 more
    &lt;/faultstring&gt;&lt;faultactor&gt;&lt;/faultactor&gt;&lt;/env:Fault&gt;&lt;/env:Body&gt;&lt;/env:Envelope&gt;

    Your usecase should be no problem. The error java.util.NoSuchElementException seems to indicate you are refering a non existing element somewhere. Are you sure the service gets invoked with the correct message content? From the enterprise manager website you can increase the logging of esb. Go to your esb oc4j container, administration, Logger Configuration. Search for soap loggers and increase the log level. You should now see the entire xml soap messages in the log.xml file.
    Kind Regards,
    Andre Jochems

  • ODSI to Invoke an A sync Web service

    We have a 2-Tier application based on Oracle 11g db and PowerBuilder 10.
    Does the follwoing practice can take place? :
    1.call an ODSI Program (Wraped as a service) from Power Builder
    2.ODSI will collect the data from the db and send it to a SOAP end point for further processing.
    Also , would it be best practice to creat my SOA landscape usign this tool rather then developing
    each outbound service using Jdeveloper for example on the application side.
    Appriciate your insights.

    I'm not sure I understand the post. The subject says "ODSI to (can?) invoke an A sync (async?) web service" (it cannot), but then goes on to ask something different.
    1.call an ODSI Program (Wraped as a service) from Power Builder If PowerBuilder supports calling webservices, then yes, you can call ODSI from Powerbuilder.
    Also , would it be best practice to creat my SOA landscape usign this tool
    2.ODSI will collect the data from the db and send it to a SOAP end point for further processing.The strength of ODSI is that it can part or perhaps even all of the "further processing".
    would it be best practice to creat my SOA landscape usign this tool ratherThat would be a good practice.

  • How we can call asynchronous jax-ws web services in OSB 10g r3?

    Hello everybody,
    We're using the Oracle Service BUS 10.3 here, and we'd like to make some calls from business services to web services in some asynchronous way.
    We know Jax-ws provides the callback way and the pooling async way to call it, but as this kind of "operations" are generated in the service consumer stub (and our service consumer rigth now is the OSB itself through the Business Service), we are trying to discover how Oracle Service BUS would use this async feature.
    IMHO, the callback approach would be better, since the response pipeline itself should be trigged when the response is ready.
    Is the OSB 10.3 ready to use async calls with Jax-WS or we should continue using Jax-Rpc with soap over xml to solve this issue?
    Thanks!
    Edited by: lucas.teixeira on 26/05/2009 05:05

    It is important to remember that in our situation here, we'd like to use the Jax-Ws specification. We could use the Jax-RPC and call our service using the JMS transport and the @WLJmsTransport, we know, but this is out of our plans, since the WL implementation of it will enqueue every requisition in just one consumer for the WS.
    Anyone can help us calling async jax-ws services from the OSB ?
    Thanks!

  • Calling a asynchronous web service method

    I am designing a game using web services(asp.net)
    one player write to array and waite till other modify that
    array.Assume i am player 1 and wait till player 2 modify array
    in web service.Writing to array part is working.But reading part
    is not working .I implement asynchronous call to web service
    call reLabelAsync and pass argument 1.That means i am player 2
    modify the array and return to my program onces other player(player 1)
    modify the array.And modify my program according his updates.
    private void jLabel1MouseClicked(java.awt.event.MouseEvent evt) {                                    
    jLabel1.setText("O");//this my player
    // jProgressBar1.setIndeterminate(true);
    writeArra(2,1);//this is working
    reLabelAsync(1);
    public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
    new NewJFrame().setVisible(true);
    public void reLabelAsync(int player){
    // Call Web Service Operation(async. callback)
    as.Service service = new as.Service();
    as.ServiceSoap port = service.getServiceSoap();
    // TODO initialize WS operation arguments here
    javax.xml.ws.AsyncHandler<as.ReLabelResponse> asyncHandler = new javax.xml.ws.AsyncHandler<as.ReLabelResponse>() {
    public void handleResponse(javax.xml.ws.Response<as.ReLabelResponse> response) {
    // java.awt.EventQueue.invokeLater(new Runnable() {
    // public void run() {
    String s;
    try {
    // TODO process asynchronous response here
    s = response.get().reLabelResult();
    s=removeTags(s);//this to remove tags.working
    System.out.println(s);
    if (s=="1"){
    jLabel1.setText("X");//update my program
    else{
    jLabel2.setText("X");//update my program
    } catch(Exception ex) {
    // TODO handle exception
    jProgressBar1.setIndeterminate(false);
    can some one please help me. I try to call asynchronous method in loop.
    I think it's the way to do this. But it didn't work.Thanks..

    Looking a bit at your history here... this is the fourth go around at least for dancing around this question.
    To summarise the advice given to you previously "Please stop blathering on about asynchonous blah blah and start by sending and recieving a message correctly"
    You really seem way over your head here. An empty catch block is a bad bad bad sign. You can run before you can walk and right now you're having problems crawling.

  • ProcessControl invocation failed - Process not found

    I have built and deplyed a small integration application. When I try to test this
    application I get the following run-time error:
    [WLI-Core:530214]ProcessControl invocation failed[Service at /TestWeb/process/AddProcess.jpd
    not found]
    caused by: : com.bea.wlw.runtime.core.dispatcher.ServiceHandleException: Service
    at /TestWeb/process/AddProcess.jpd not found
    I am pretty sure that this process is deplyed on the server. I can see the following
    modules deployed in the WebLogic console:
    .workshop/TestWeb/EJB/AddProcess_54emdkdnnj
    .workshop/TestWeb/EJB/AddProcessControl_54emdkdnnj
    The JNDI tree also has entries for /TestWeb/process/AddProcess and /TestWeb/process/AddProcessControl.
    Any idea what is going on?
    Thanks.

    Well, I cannot reproduce the problem anymore. I don't know what changed!
    Steven Ostrowski <[email protected]> wrote:
    And does the WLI Console show AddProcess under the Process Instance Monitor?
    Naresh Bhatia wrote:
    I have built and deplyed a small integration application. When I tryto test this
    application I get the following run-time error:
    [WLI-Core:530214]ProcessControl invocation failed[Service at /TestWeb/process/AddProcess.jpd
    not found]
    caused by: : com.bea.wlw.runtime.core.dispatcher.ServiceHandleException:Service
    at /TestWeb/process/AddProcess.jpd not found
    I am pretty sure that this process is deplyed on the server. I cansee the following
    modules deployed in the WebLogic console:
    .workshop/TestWeb/EJB/AddProcess_54emdkdnnj
    .workshop/TestWeb/EJB/AddProcessControl_54emdkdnnj
    The JNDI tree also has entries for /TestWeb/process/AddProcess and/TestWeb/process/AddProcessControl.
    Any idea what is going on?
    Thanks.

  • Asynch web services having serialization problem wint 7.0SP1

    Hi,
    I've tried creating a simple async web service that sends a Java bean to a web
    service that's implemented
    as an MDB. i.e. The java bean is of type malcolm.AimosMatchedRequest and is therefore
    delivered as
    an ObjectMessage.
    I keep getting a deserialising error listed below in the Weblogic log.
    Now if I do a serialver on my Javabean class I get the value 6661344068394585445
    in agreement with the log for the stream classdesc. I therefore presume that
    the
    local class, is the server view which I guess is the SOAP unmarshaled/generated
    class that
    WebLogic is expecting???
    How do I deal with this problem? Note that explitiely forcing the serialuid in
    my Javabean class
    does not help, which to me confirms that WebLogic is geenrating some SOAP equiv
    class.
    regards
    --malcolm
    weblogic.jms.common.JMSException: Error deserializing object
    at weblogic.jms.common.ObjectMessageImpl.getObject(ObjectMessageImpl.jav
    a:140)
    at malcolm.AimosMatchedBean.onMessage(AimosMatchedBean.java:68)
    at weblogic.ejb20.internal.MDListener.execute(MDListener.java:356)
    at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.
    java:290)
    at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:271)
    at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2303)
    at weblogic.jms.client.JMSSession.execute(JMSSession.java:2226)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
    ----------- Linked Exception -----------
    java.io.InvalidClassException: malcolm.AimosMatchedRequest; Local class not comp
    atible: stream classdesc serialVersionUID=6661344068394585445 local class serial
    VersionUID=7727103220180333880
    at java.io.ObjectStreamClass.validateLocalClass(ObjectStreamClass.java:5
    18)
    at java.io.ObjectStreamClass.setClass(ObjectStreamClass.java:562)
    at java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java
    :931)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:361)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:231)
    at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1181)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:381)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:231)
    at weblogic.jms.common.ObjectMessageImpl.getObject(ObjectMessageImpl.jav
    a:128)
    at malcolm.AimosMatchedBean.onMessage(AimosMatchedBean.java:68)
    at weblogic.ejb20.internal.MDListener.execute(MDListener.java:356)
    at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.
    java:290)
    at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:271)
    at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2303)
    at weblogic.jms.client.JMSSession.execute(JMSSession.java:2226)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
    weblogic.jms.common.JMSException: Error deserializing object
    at weblogic.jms.common.ObjectMessageImpl.getObject(ObjectMessageImpl.jav
    a:140)
    at malcolm.AimosMatchedBean.onMessage(AimosMatchedBean.java:68)
    at weblogic.ejb20.internal.MDListener.execute(MDListener.java:356)
    at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.
    java:290)
    at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:271)
    at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2303)
    at weblogic.jms.client.JMSSession.execute(JMSSession.java:2226)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
    ----------- Linked Exception -----------
    java.io.InvalidClassException: malcolm.AimosMatchedRequest; Local class not comp
    atible: stream classdesc serialVersionUID=6661344068394585445 local class serial
    VersionUID=7727103220180333880
    at java.io.ObjectStreamClass.validateLocalClass(ObjectStreamClass.java:5
    18)
    at java.io.ObjectStreamClass.setClass(ObjectStreamClass.java:562)
    at java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java
    :931)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:361)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:231)
    at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1181)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:381)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:231)
    at weblogic.jms.common.ObjectMessageImpl.getObject(ObjectMessageImpl.jav
    a:128)
    at malcolm.AimosMatchedBean.onMessage(AimosMatchedBean.java:68)
    at weblogic.ejb20.internal.MDListener.execute(MDListener.java:356)
    at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.
    java:290)
    at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:271)
    at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2303)
    at weblogic.jms.client.JMSSession.execute(JMSSession.java:2226)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)

    Bruce Stephens <[email protected]> wrote:
    <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
    <html>
    Hi Malcolm,
    <p>There's been a significant amount of work done on async services in
    conjunction with reliable ws messaging that will be available in the
    next
    release.
    <p>Can you/your customer be part of the upcoming beta?Certainly keen to participate. I presume from what you've said that SP1 is still
    problematic for async. I've found that SP1 seems pretty good for synch web services
    (addressed issues I had with 7.0).
    regards
    --malcolm
    <p>Thanks,
    <br>Bruce
    <p>Malcolm Robbins wrote:
    <blockquote TYPE=CITE>Wow,
    <br>  based on no replies it appears that no one is actually using
    asynch web services.
    <p>It looks like I better recommend to my (large bea customer) that WebLogic
    async
    <br>web services are not ready for prime time...
    <p>regards
    <p>--malcolm</blockquote>
    </html>

  • Missing Feature - (Implementation) Service Orchestration

    Oracle basis its 'mediation' on the 'Routing Service', in which one can filter, transform, route messages from a service consumer (business service client) to a service provider (actual service implementation, off the ESB).
    Note: Even if the Routing Service routes to two of more service providers, it always assumes that the input to these service providers is the input to the main Routing Service.
    In a scenario where there are two or more service providers, how does one call the second service provider with/based on data from the response of the call to the first service provider?
    Does anyone currently see a way of doing this? (And please don't suggest BPEL; BPEL as the name suggests orchestrates my business services (exposed on the ESB) and not my service providers))
    Thanks,
    Ryan

    Ryan,
    I haven't tried this, so I can not guarantee it would work, but have you considered using the 'response forward' pattern and chaining routing services?
    e.g.
    Routing service A invokes service 1
    Routing service A invokes routing service B with the response from service 1
    Routing service B uses it's routing rules to decide if service 2 should be invoked.
    A sample response forward project can be found in the ESB samples zip file on http://www.oracle.com/technology/products/integration/esb/index.html.
    I believe this would work for you under the following conditions:
    (1) One way method invocation (you are not expecting a response from routing service A)
    (2) Routing rule for routing service B can be based on data in request to and response from invocation of service 1 and is not dependent on data that only exists in original request to routing service A.
    I hope this helps, so please post to this thread if it does or not.
    Peter

  • Way to create async webservice for BPEL to interact

    In Orderbooking tutorial, there is a Rapid Distributors async BPEL service. However, if we would like to implement Rapid Distributor in Java WebServie in JDevelop 10g, is it possible to do so?
    Does anyone have experience on creating async Java Web service for BPEL to interact in Oracle JDevelop 10g?

    Blackmirror wrote:
    I need to communicate external .NET webservice through our java client.
    Can someone tell me which is the best way to create client stubs(java based) ?No. And if they could it would be their opinion.
    I am trying to use jaxws based client from netbeans but it refused to create ..said duplication of classes ..its already generated and u need manually costumize wsdl :-( If you have an error, post it or search Google for info on it. Not sure what you're doing wrong and I don't use NetBeans.
    As i dont want to go through this mess ,i want some easy way how can i generate java stubs without doing too much editing in wsdl.Huh? You don't have to editing the WSDL to generate a stub.

  • EJB invocation in a cluster takes 7 minutes !

    Hi all,
              we're having a problem invoking a basic stateless EJB in a cluster.
              This is our configuration: Weblogic 8.1 sp4 installed on a Solaris 10 (x86) box.
              The cluster is made of 2 managed instances running both on the same machine (as the admin server).
              We have discovered that, when one of the managed server is down, the ejb invocation is serviced -either- immediately -or- it takes about 7 minutes.
              in a random fashion.
              I presume that when the live managed server is contacted the request is serviced immediately. When on the other hand the request needs to be switched from the dead server to the one that is up, it takes about 7 minutes.
              Why that ? Can anybody give some information ? we'll switch to a loadbalancer architecture in production environment, but what can we do now to avoid this problem ?
              Regards
              Francesco
              -bash-3.00$ time java -classpath /export/home/bea/weblogic81/server/lib/weblogic
              .jar:. statelessSession/ClientEJB t3://10.2.1.14:8001,10.2.1.14:9001
              Calling EJB Client...
              -> ClusterableRemoteRef(-8976060538862722122S:10.2.1.14:[9001,9001,7002,7
              002,9001,7002,-1,0,0]:10.2.1.14:8001:7002,10.2.1.14:9001:WLSdomain:server2 [-8
              976060538862722122S:10.2.1.14:[9001,9001,7002,7002,9001,7002,-1,0,0]:10.2.1.14:8
              001:7002,10.2.1.14:9001:WLSdomain:server2/290])/290
              Creating EJB
              End EJB Client...
              real 7m39.408s
              user 0m3.064s
              sys 0m0.526s

    Well, if you've ever looked at the source for DBA_TAB_STATISTICS you will understand why it's not a great candidate to query frequently, like in an exists look up :)
    This takes up a little more code, but i'd wager it finishes a bit sooner.
    SELECT
      /*+ gather_plan_statistics */
      T.OWNER,
      T.TABLE_NAME
    FROM
      ( SELECT DISTINCT COFIR
      FROM DBAUSR_TT
      ) U,
      VDBSTA S,
      DBA_TABLES T
    WHERE S.COFIR         = U.COFIR
    AND S.CTTAB           = 'T'
    AND T.OWNER           = S.COFIR
    AND T.TABLE_NAME      = S.COTAB
    AND T.TEMPORARY       = 'N'
    AND
        T.LAST_ANALYZED IS NOT NULL
    OR EXISTS
        SELECT 1
        FROM DBA_INDEXES I
        WHERE I.TABLE_OWNER  = T.OWNER
        AND I.TABLE_NAME     = T.TABLE_NAME
        AND I.LAST_ANALYZED IS NOT NULL
    UNION
    SELECT
      T.OWNER,
      T.TABLE_NAME
    FROM
      ( SELECT DISTINCT COFIR FROM DBAUSR_TT
      ) U,
      VDBSTA S,
      DBA_TABLES T,
      DBA_TAB_STATISTICS A
    WHERE S.COFIR                     = U.COFIR
    AND S.CTTAB                       = 'T'
    AND T.OWNER                       = S.COFIR
    AND T.TABLE_NAME                  = S.COTAB
    AND T.TEMPORARY                   = 'N'
    --added predicate
    AND T.LAST_ANALYZED IS NULL
    AND A.OWNER                       = T.OWNER
    AND A.TABLE_NAME                  = T.TABLE_NAME
    AND NVL (A.STATTYPE_LOCKED, '*') != 'ALL')
    ORDER BY 1, 2;

  • Creating Asynchronus webservice in jdev??

    Does any one have complete example of creating async web service???

    Can you be a bit more specific on your requirement.In JDeveloper there is no wizard driven tooling support to create POJO based async services, but you can expose methods of an Application Module for async invocation by exposing them through the Service Interface.
    -Vishal

  • Reliable SOAP messaging problems - weblogic.webservice.saf.StoreForwardException

    Hi Guys,
    I'm playing with the new SOAP reliable message transport in WL 8.1 SP 1.
    I have configured a simple web service, with void return, configured for
    reliable messaging. I deploy the client to the same server as the server
    hosting the webservice, and it uses the async invocation etc.
    It wasn't obvious how to throw the exception in the backend implementation.
    I simply grab the usertransaction
    and call ut.setRollbackOnly(). Hope that's correct..
    Whenever I invoke the operation, I get this:
    weblogic.webservice.saf.StoreForwardException: Could not find MessageData
    header in aknowledgement
    I have a JMS file store setup, and I have it assigned to the server via the
    services/webservice tab, and I do see some activity in the file store.
    My client looks like this:
    AsyncInfo asyncInfo = new AsyncInfo();
    asyncInfo.setReliableDelivery(true);
    FutureResult fr = port.startReliableOperation("hello World", asyncInfo);
    System.err.println("Client: Made invocation, invoking async end now");
    port.endReliableOperation(fr);
    Any ideas?
    Regards,
    Jon
    PS. [As an aside, aknowledgement needs a 'c']
    Client: port.StartReliableOperation()
    --S:In reliable TX operation
    --S:Going to roll back
    --S: Set setRolbackOnly()
    --S: Finished Reliable operation
    Client: Made invocation, invoking async end now
    <26-Aug-2003 18:39:31 o'clock BST> <Info> <WebService> <BEA-220025> <Handler
    web
    logic.webservice.saf.SAFHandler threw an exception from its handleResponse
    metho
    d. The exception was:
    javax.xml.rpc.JAXRPCException: Failed to handle the response.>
    myserver:Info:Handler weblogic.webservice.saf.SAFHandler threw an exception
    from
    its handleResponse method. The exception was:
    javax.xml.rpc.JAXRPCException: Failed to handle the response.
    <26-Aug-2003 18:39:31 o'clock BST> <Info> <WebService> <BEA-220047> <A
    exception
    was thrown from callReceive in the Client Dispatcher.>
    myserver:Info:A exception was thrown from callReceive in the Client
    Dispatcher.
    <26-Aug-2003 18:39:31 o'clock BST> <Info> <WebService> <BEA-220034> <A stack
    tra
    ce associated with message 220047 follows:
    javax.xml.rpc.soap.SOAPFaultException: Exception during processing:
    weblogic.web
    service.saf.StoreForwardException: Could not find MessageData header in
    aknowled
    gement. (see Fault Detail for stacktrace)
    at
    weblogic.webservice.core.ClientDispatcher.receive(ClientDispatcher.ja
    va:285)
    at
    weblogic.webservice.core.ClientDispatcher.callReceive(ClientDispatche
    r.java:119)
    at
    weblogic.webservice.saf.ConversationAssembler.getResponse(Conversatio
    nAssembler.java:302)
    at
    weblogic.webservice.saf.ConversationAssembler.execute(ConversationAss
    embler.java:536)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    >

    Hi Jon,
    I've asked our WS RM guru to comment on your question, but I believe the
    answer is going to be that you can explicitly roll back the transaction,
    however only from the EJB application method, using the
    EJBContext.setRollbackOnly() method.
    Regards,
    Bruce
    Jon Mountjoy wrote:
    >
    Hi Bruce,
    I looked at the example you pointed to, and it does what it says it does.
    However, it doesn't attempt to rollback a transaction, which is what I am
    doing.
    The docs for reliable messaging say:
    " If you want to roll back the transaction from the Java method, use the
    Java Transaction API (JTA) to get the transaction object and then explicitly
    roll back the transaction. "
    They also indicate that the receiver executes in the context of a
    transaction, which you may rollback.
    For example, when the server is down, the transaction doesn't commit. This
    behaviour is tested by your example, and it works.
    However, when I modify your example to roll back the transaction in the web
    service operation backend implementation,
    then it doesn't. It yields the same exception that mine does.
    For example, I modified your MarketService.java as indicated below to grab
    the initial context and then during the operation grab the usertransaction
    and call setRollbackOnly(). This causes WebLogic to throw a
    weblogic.webservice.saf.StoreForwardException.
    Any ideas?
    Regards,
    Jon
    public final class MarketService {
    private static boolean mustThrow = true;
    InitialContext ctx = null;
    public MarketService() {
    try {
    ctx = new InitialContext();
    System.err.println("---InitialContext is set");
    } catch (Exception e) {
    System.err.println("---InitialContext is not set: " + e);
    public void placeOrder(OrderInfo o) {
    System.out.println("[MarketService] placing order: " + o);
    mustThrow = !mustThrow;
    if (mustThrow) {
    System.out.println("--S:Going to roll back");
    UserTransaction ut = null;
    try {
    ut = (UserTransaction) ctx.lookup(
    "javax.transaction.UserTransaction");
    System.out.println("--S: Set setRolbackOnly()");
    ut.setRollbackOnly();
    // <------------------------------------------
    } catch (Exception e) {
    System.err.println("--S: UT transaction error:" + e);
    } else {
    System.out.println("--S: -Not rolling back");
    --S:In reliable TX operation
    --S:Going to roll back
    --S: Set setRolbackOnly()
    --S: Finished Reliable operation
    <29-Aug-2003 15:48:24 o'clock BST> <Info> <WebService> <BEA-220025> <Handler
    weblogic.webservice.saf.SAFHandler threw an
    exception from its handleResponse method. The exception was:
    javax.xml.rpc.JAXRPCException: Failed to handle the response.>
    myserver:Info:Handler weblogic.webservice.saf.SAFHandler threw an exception
    from its handleResponse method. The exceptio
    n was:
    javax.xml.rpc.JAXRPCException: Failed to handle the response.
    <29-Aug-2003 15:48:25 o'clock BST> <Info> <WebService> <BEA-220047> <A
    exception was thrown from callReceive in the Clie
    nt Dispatcher.>
    myserver:Info:A exception was thrown from callReceive in the Client
    Dispatcher.
    <29-Aug-2003 15:48:25 o'clock BST> <Info> <WebService> <BEA-220034> <A stack
    trace associated with message 220047 follow
    s:
    javax.xml.rpc.soap.SOAPFaultException: Exception during processing:
    weblogic.webservice.saf.StoreForwardException: Could
    not find MessageData header in aknowledgement. (see Fault Detail for
    stacktrace)
    at
    weblogic.webservice.core.ClientDispatcher.receive(ClientDispatcher.java:285)
    at
    weblogic.webservice.core.ClientDispatcher.callReceive(ClientDispatcher.java:
    119)
    at
    weblogic.webservice.saf.ConversationAssembler.getResponse(ConversationAssemb
    ler.java:302)
    at
    weblogic.webservice.saf.ConversationAssembler.execute(ConversationAssembler.
    java:536)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    >
    myserver:Info:A stack trace associated with message 220047 follows:

Maybe you are looking for