OSB Conversion of Soap Service to JSON

Hi All,
     I have a SOAP service that returns a list of employees which needs to be exposed in JSON format. I have nearly implemented this using XMLBeans by doing the following.
In the message flow of OSB, the JSON request is converted into XML and a Service Callout is made to the SOAP service which returns the Employees list in the response. The SOAP response is then assign to the variable 'responseXML' and then a Java callout is made to convert the 'responseXML' to JSON response. The Java callout method is as below. The XMLObject parameter passed from the OSB is a XMLfragment instead of the full XML document.
public static String employeeListResponseXmlToJson(XmlObject xml) {
        System.out.println("employeeListResponseXmlToJson() called with: " + xml.toString());
               ObjectWriter writer = EmployeeServiceMapperFactory
                .getEmployeeListWriter();
        EmployeeListResponse employeeListResponse =  new EmployeeListResponse();
        ArrayList <au.gov.vic.ambulance.pojo.Employee> employeeList = new ArrayList<au.gov.vic.ambulance.pojo.Employee>();
        String json = null;
        try {
            EmployeesDocument doc = EmployeesDocument.Factory.parse(xml.newXMLStreamReader());           
            if (doc instanceof EmployeesDocument) {
                EmployeesDocument employeesDoc = (EmployeesDocument) doc;
                Employees source = employeesDoc.getEmployees();               
                for (Employee emp: source.getEmployeeArray())
                    au.gov.vic.ambulance.pojo.Employee employee = new au.gov.vic.ambulance.pojo.Employee();
                    employee.setEmployeeNumber(emp.getEmployeeNumber());
                    employee.setFirstName(emp.getFirstName());
                    employee.setMiddleName(emp.getMiddleName());
                    employee.setLastName(emp.getLastName());
                    employee.setPreferredName(emp.getPreferredName());
                    employee.setPreviousLastName(emp.getPreviousLastName());
                    employee.setTitle(emp.getTitle());
                    employee.setHireDate(emp.getHireDate());                  
                    employeeList.add(employee);
                employeeListResponse.setEmployeeArr(employeeList);
                json = writer.writeValueAsString(employeeListResponse);
        } catch (XmlException e) {
            e.printStackTrace();
        } catch (JsonGenerationException e) {
            e.printStackTrace();
        } catch (JsonMappingException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        return json;
The XML in the 'responseXML' variable is a as below
<Employees xmlns:es="http://abc.com/employee>
    <Employee>
    </Employee>
    <Employee>
    </Employee>
</Employees>
The XML after Java callout is made from OSB is a as below.
<xml-fragment>
    <Employee>
    </Employee>
    <Employee>
    </Employee>
</xml-fragment>
Why is OSB not passing the entire XMLDocument? Please suggest and help.
Thanks

Use the JSON libraries like jackson, Gson etc. to convert the from java collection to json that would be much easier. I recently done the same in my webservices.
Regards,
Anshul

Similar Messages

  • OSB -How to communicate with a Asynchronous SOAP Service using OSB

    Hi,
    I am new to OSB and I need some help in working with Asynchronous SOAP Service.
    Test Case : OSB --> Proxy Service --> Business Service-->External Service pointing to Asynchronous service WSDL.
    While testing the proxy service using sb console i don't get a response back.
    After some googling I found out the following:
    ->We need to create another Proxy service for listening to callback from that Asynchronous service.
    ->Setting the "WS-replyTo" in header variable while sending the initial request to Business Service(pointing to Asynch wsdl).
    Even after this I am not getting some response.
    Questions :
    1. Can someone let me know in detailed way(end to end) what has to be done to achieve this ?
    2. The Asynch wsdl exposes only one port in the <service> tag ie., which is haing the binding related to "process" operation. ( but not processCallback operation)
    So in this case how do i make my responseProxy service listen to callback port ? When I try to do I just see the process binding only.
    Thanks and Regards,
    Sridhar.

    Vernetto,
    I am not sure about the publish, but yes we can do this without JMS also. Please refer to this post which is quite helpful which routes back to a proxy service.
    http://eelzinga.wordpress.com/2010/03/23/oracle-service-bus-invoke-asynchronous-webservices/
    Regards,
    Sridhar.

  • Expose soap service as rest in OSB

    Hi
    I need to expose a soap service (SOA Composite) in OSB as RESTful service; own customers send the documents in POST way. I am new in OSB.
    Thank you for your help.
    Andrés

    The task is not clear. The existing consumers do POST. Where the REST should be placed? Should the consumers switch to REST (GET/POST/PUT, relative URIs)? Or a backend service plans to switch to REST?
    A minor caution note: OSB 12 has a bug with DELETE and OPTIONS(? don't remember the second one) operations when calling a REST backend: Those have empty body, but OSB still sends encoding as "chunked". The backend waits for the first chunk size, and OSB waits for a response from the backend => timeout.
    Vlad.

  • [OSB Kernel:398133]The service is based on WSDL with Web Services Security

    Team,
    I need to use the wsdl given by external client. When I create a osb business service, I am receiving the below error.
    OSB Kernel:398133]The service is based on WSDL with Web Services Security Policies that are not natively supported by Oracle Service Bus. Please select OWSM Policies - From OWSM Policy Store option and attach equivalent OWSM security policy. For the Business Service, either you can add the necessary client policies manually by clicking Add button or you can let Oracle Service Bus automatically pick and add compatible client policies by clicking Add Compatible button.     ...
    WSDL:
    http://personator.melissadata.net/v3/SOAP/ContactVerify
    We don't have OWSM set up. Is there any workaround that I can use to connect to this service for OSB?

    As a workaround, you can try to remove the Policy definition and reference from the copy you will import in OSB.
    I would recommend to add OWSM to your domain. It's a straight forward process.
    Regards,
    Fabio.

  • Specify filename in OSB File Trasport Business Service

    Hi All,
    Is it possible to specify the complete filename in OSB File Transport Business Service?
    the default behavior allows me to specify the prefix and suffix only, is it possible to override and specify the complete filename?
    Thanks,
    Tal

    Specifying the filename for outbound FTP transport in OSB the thread discusses with FTP BS and same would apply for File BS
    Manoj

  • How to configure proxy services in OSB for Rest based services?

    how to configure proxy services in OSB for Rest based services implemented using Jersey (Rest).
    The Client need to contact OSB proxy servies by posting application/xml using jersey client and OSB proxy service will call the OSB business service.
    i would like to know how to get this request in OSB proxy service and send it to the business service and get the response back.

    I would suggest you refer to the below links:
    https://blogs.oracle.com/jeffdavies/entry/restful_services_with_oracle_s_1
    https://blogs.oracle.com/jamesbayer/entry/using_rest_with_oracle_service
    Hope this helps.
    Thanks,
    Patrick

  • Dynamic timeout for OSB proxy or business services

    The scenario we got here is that we will have multiple synchronous webservices implemented as OSB proxy services. These proxies will then invoke a common "routing" proxy that will determine which other OSB proxy or business services (JMS Request/Response) to call and does the dynamic routing.
    I understand that you can set a timeout at the business service level how long to wait for a response (at least when using the JMS transport). The problem is we got the requirement that the timeout value would be dependent on the role of the caller invoking the frontend webservice (this is done via some kind of lookup to determine the appropriate timeout setting for the invocation).
    Is this possible? I can't seem to find anything exposed in the transport header that allows me to set a timeout value during runtime. This means that the frontend proxy will be waiting for a response depending on the business service timeout setting. Can we implement a timeout in this frontend proxy somehow?
    Stumped right now over this. Thanks in advance for helping out.

    >
    Are there other reasons why you say it's not the most ideal way of development ?
    >
    Versioning binary files is always a pain. You can't compare them, you can't merge them ... Another point, if you put your jar archive with OSB artifacts under version control, you will most probably face issue related to end of line styles (mac, unix, windows).
    However, the most important point is usability. I want to version .proxy and .biz services to see right in IDE that I changed something and I should check that in for the others. I don't want to risk that I forget something. And I also want to see what other users committed, what sources they work on ... You loose all of that by versioning jar file. I would never go this way.

  • Unable to change ESB Soap Service endpoint

    Hi people , i have a problem,
    after creating a soap service , register de esb service on DefaultSystem, i want to call externally using
    "http://host:port/esb/wsil/DefaultSystem/<name of soap service>?wsdl
    everithing works ok , but when i try to change from Jdeveloper the enpoint URL , ESB seems to keep using the old URL in :
    http://host:port/event/DefaultSystem/<name of soap service>?WSDL ..
    If i check on esb control i can se the new "WSDL URL" on the Definition tab of this soap service. But internally in the WSDL generated by the ESB endpoint it keeps using the OLD URL
    causing obviously a:
    "SOAPException: Message send failed: Connection refused"
    if i make that resource unavailable after the change
    The question is .. why i cant change the endpoint url ????
    theres is any WSDL cache or something like in Oracle BPEL PM ??
    i need to restart (i dont try yet )
    please ill wait for any suggestions
    PS: im using ESB 10.1.3.3.0 Build:PCBPEL_10.1.3.3.0_GENERIC_070615.0525

    Hi
    I have similar problems and nobody seems to know the solution. Changing the virtual host and port in ESB console does not resolve the problem thoroughly. It's changing the end point entry but living the namespace URL of the WSDL with old value, for instance my address was: http://localhost.localdomain:8889/ .....servicename?WSDL.
    This prevents it from proper invoking by external clients, you can reach the end point and use the test page but you can't read its wsdl file without adjusting its address by hand.
    I found one solution, it's reinstalling the OAS from scratch and pass the proper name of the server when prompted but what the kind of solution is that? This is obviously deployment problem, the original wsdl file prepared in JDeveloper is used to generate the final wsdl file exposed to external clients but which is the configuration file responsible for that and why the esb console don't change the namespace url too while changing end point?
    This is the bug indeed because it's impossible to resolve from console level.

  • Unable to parse the OData service in JSON

    Hi,
    Need to parse the OData Service in JSON format.Able to successfully get Service and MetaData documents. After that, when try to parse OData service returning response in JSON.
    Below  code is throwing exception.
    Server Used:SMP3.0
    ODATA SDK Used:SMP3.0 ODATA SDK
    Service Used: http://services.odata.org/v2/Odata/Odata.svc/Products?$format=json
    Code Snippet:
       @try {
          ODataCollection *collc = [[self.serviceDocument getSchema] getCollectionByName:_srvcInfo.serviceEntityName];
          ODataEntitySchema *schema = [collc getEntitySchema];
          //Instantiate parser for Carrier entity
         ODataDataParser *dataParser=[[ODataDataParser alloc] initWithEntitySchema:schemaandServiceDocument:self.serviceDocument];
          //Parses a feed or an entry xml or json
          [dataParser parse:entriesData];
          results = dataParser.entries;
      @catch(NSException *e) {
          NSLog(@"Exception:%@, %@", e.description, e.debugDescription);
    Exception:
    -[__NSCFArray objectForKey:]: unrecognized selector sent to instance
    However Service Used:http://services.odata.org/V3/Northwind/Northwind.svc/Products?$format=json. Not
    throwing any exception, but dataParser.entries is returning 0 objects
    Please let us know, is the same API is used for parsing JSON.
    What can be the reason of issue and what are possible resolution.
    Thanks,
    Parveen.

    My expert area is not IOS but you can check this IOS Odata development tutorial that might help you,Getting started with SMP3 Native OData iOS apps
    Midhun VP

  • SSL Error while Consuming Java build SOAP services using Dotnet Console App

    Hi, I want to consume a SOAP service developed in JAVA. I don't have any control on Service side. I have to just consume the SOAP service using my client Application which is in DotNet Console Application using C#. Here is the detail about the service:
    1. The service has SSL configured.
    2. End point looks like: https://xyz.com:443
    3. I am able to connect the service using SOAP UI Tool by configuring the Tool with the certs given by Java developer.
    4. Basically there are two certs used, one for "client authentication" purpose and the second cert is for "WS security" purpose.
    5. When i add the WSDL to my client app as a service Reference, the generated App.config file looks as shown below:
    <configuration>
    system.serviceModel>
    <bindings>
    <basicHttpBinding>
    <binding name="Hello_HTTPBinding">
    </binding>
    </basicHttpBinding>
    </bindings>
    <client>
    <endpoint address="http://localhost:8080/" binding="basicHttpBinding"
    bindingConfiguration="Hello_HTTPBinding"
    contract="Proxy_Hello" name="Hello_HTTPPort" />
    </client>
    </system.serviceModel>
    </configuration>
    6. Basically I need to pass two certs, one cert used for "client authentication" purpose and the second cert is used for "WS security purpose".
    7. I have changed the above client configuration as below marked in RED color text:
    <configuration>
    system.serviceModel>
    <bindings>
    <basicHttpBinding>
    <binding name="Hello_HTTPBinding">
    <security mode="TransportWithMessageCredential" >
    <transport clientCredentialType="Certificate" proxyCredentialType="Basic" realm="" />
    <message clientCredentialType="Certificate" algorithmSuite="Basic128" />
    </security>
    </binding>
    </basicHttpBinding>
    </bindings>
    <client>
    <endpoint address="https://xyz.com:443"
    binding="basicHttpBinding"
    bindingConfiguration="Hello_HTTPBinding"
    contract="Proxy_Hello" name="Hello_HTTPPort" behaviorConfiguration="NewBehavior"/>
    </client>
    <behaviors>
    <endpointBehaviors>
    <behavior name="NewBehavior">
    <clientCredentials >
    <clientCertificate findValue="clientxyz.com" storeLocation="CurrentUser" storeName="My" x509FindType="FindBySubjectName" />
    <serviceCertificate>
    <defaultCertificate findValue="helloabc.com" storeLocation="CurrentUser" storeName="My" x509FindType="FindBySubjectName"/>
    </serviceCertificate>
    </clientCredentials>
    </behavior>
    </endpointBehaviors>
    </behaviors>
    </system.serviceModel>
    </configuration>
    8. I am assuming the cert required for WS security  will be passed using in<serviceCertificate> element, but not fully sure....correct me if I am wrong.
    9. By creating proxy object of the service when I am trying to call the required method I am getting this Error: "Could not establish
    secure channel for SSL/TLS with authority "******xyz.com."
    10. Its working perfect in SOAP UI Tool, generating the Raw XML as shown below in ORANGE color Text:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:gw-headers-100" xmlns:urn1="urn:gw-util-100">
    <soapenv:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"
    wsu:Id="X509-35309F239B754D9BA414230227616161">
    aaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbccccccccccccccccccccc********dddddddddddd*****eeeeeeeeee
    </wsse:BinarySecurityToken>
    <ds:Signature Id="SIG-2" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
    <ds:SignedInfo>
    <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
    <ec:InclusiveNamespaces PrefixList="soapenv urn urn1" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/>
    </ds:CanonicalizationMethod>
    <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
    <ds:Reference URI="#id-1">
    <ds:Transforms>
    <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
    <ec:InclusiveNamespaces PrefixList="urn urn1" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/>
    </ds:Transform>
    </ds:Transforms>
    <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
    <ds:DigestValue>
    abcabcabcabc******gggggg
    </ds:DigestValue>
    </ds:Reference>
    </ds:SignedInfo>
    <ds:SignatureValue>gggggg888******8sdsdsdss</ds:SignatureValue>
    <ds:KeyInfo Id="KI-38488AAAA222">
    <wsse:SecurityTokenReference wsu:Id="STR-ggggjj57557575">
    <wsse:Reference URI="#X509-74747477" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/>
    </wsse:SecurityTokenReference>
    </ds:KeyInfo>
    </ds:Signature>
    </wsse:Security>
    </soapenv:Header>
    <soapenv:Body wsu:Id="id-1" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <urn1:xxxxxxx>
    </urn1:xxxxxx>
    </soapenv:Body>
    </soapenv:Envelope>
    11. Using Dotnet Tracing I am able to see the Request XML generated from the console Application as shown below in BLUE color text: But getting the SSL error as: Could not establish secure channel
    for SSL/TLS with authority "******xyz.com.
    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Header>
    <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <u:Timestamp u:Id="_0" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <u:Created>2015-02-04T04:19:29.825Z</u:Created>
    <u:Expires>2015-02-04T04:24:29.825Z</u:Expires>
    </u:Timestamp>
    <o:BinarySecurityToken>
    <!-- Removed-->
    </o:BinarySecurityToken>
    <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
    <SignedInfo>
    <CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></CanonicalizationMethod>
    <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></SignatureMethod>
    <Reference URI="#_0">
    <Transforms>
    <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></Transform>
    </Transforms>
    <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></DigestMethod>
    <DigestValue>aaaaaa****dddddd=</DigestValue>
    </Reference>
    </SignedInfo>
    <SignatureValue>ssssddddd888fffff****=</SignatureValue>
    <KeyInfo>
    <o:SecurityTokenReference>
    <o:Reference ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" URI="#uuid-93e09c54-aee8-4f45-a8a4-d63d8a2d63fb-1"></o:Reference>
    </o:SecurityTokenReference>
    </KeyInfo>
    </Signature>
    </o:Security>
    </s:Header>
    </s:Envelope>
    12. I want to Generate the Request XML from my Dotnet console Application simiar to the SOAP UI generated XML(refer #10).. Also want to get rid of SSL error....Appreciate your Suggestion..

    Hi tksdotnet,
    This forum is used to discuss the questions about the WCF web service, for java web services questions, it will be better to post in this forum:
    #WCF, ASMX and other Web Services:
    http://forums.asp.net/28.aspx/1?WCF+ASMX+and+other+Web+Services .
    Thanks for your understanding.
    Best Regards,
    Amy Peng
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • 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

  • ESB Soap Service invoking mutiple operations of a WSDL

    Hi,
    we have a requirement where in we have to call mutiple opeartions of a WSDL.
    We tried developing this using ESB, where in we used many soap services invoking different operations of thw WSDL and a routing service which will decide on which SOAP service (Opeartion of WSDL) to invoke.
    But we just want to check if there any way that we can call many operations of the same WSDL using the same soap service.
    Any pointers on this.
    Thanks in advance.
    santu

    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

  • ESB -- SOAP Service Security

    I have a SOAP Web Service secured with a Basic Authentication.
    I've wrapped this SOAP service with an ESB service.
    Should I be able to pass the Basic Authentication credentials through the ESB service to the underlying SOAP service? I see "support for SOAP Headers" is the docs as a preview feature.

    Take a look at the following thread regarding SOAP headers:
    Re: Custom SOAPAction for Oracle ESB?
    Or did you manage to get through this use case because I'm trying to create a generic 'authenticationService' which receives a username/password and needs to check against an ldap environment if this user exists

  • ESB SOAP Service invoke

    Hi,
    I would like to know how to invoke a ESB SOAP service from an external web service, which in turn need to interact with the Routing Service ?
    Thanks,
    OracleExpert

    I'm getting the feeling that you're mixing some things up and that you're comparing things that can't be compared.
    In ESB you create integration patterns with adapters, routing services and so on. When you deploy your integration pattern you'll end up with several webservices. E.g. a ESB integration pattern IS a webservice and all the components within a integration pattern are webservices as well.
    If you want to start / call this ESB pattern you can do it in several ways. Its a webservice so calling it is standarized. You can call the webservice from BPEL, from another ESB project, from a Java app, from PL/SQL and even from cobol!
    whether you get a reply from your integration pattern is the matter of how you implement your integration pattern ( synchronous vs asynchronous etc ).
    If you want to test this e.g. want examples please take a look at the examples provided by Oracle on OTN. These samples can then be called / tested externaly by e.g. using a free program called SOAPUI.
    HTH.
    Martin

  • SOAP Service Endpoint properties configuration

    hi
    i have an ESB SOAP service, invoking a web service which is working fine.but i need to do the same process using Location variable in endpoint properties and also can anyone explain me how to configure Location(URL Format and delimiters), Retrycount and RetryInterval of endpoint prop. can i use the endpoint to redirect my request from one URL location to another baserd on retryinterval.
    thanks in advance
    Thirumal

    hi
    iam getting the following error when i set a service url for Location variable in SOAP Service endpoint property.
    oracle.tip.esb.server.common.exceptions.BusinessEventRetriableException: An unhandled exception has been thrown in the ESB system. The exception reported is: "org.collaxa.thirdparty.apache.wsif.WSIFException: exception during SOAP invoke: Caught exception while handling request: unrecognized operation: {http://serviceone1/types/}getDecodedStringElement; nested exception is: javax.xml.rpc.soap.SOAPFaultException: Caught exception while handling request: unrecognized operation: {http://serviceone1/types/}getDecodedStringElement at com.collaxa.cube.ws.wsif.providers.oc4j.jaxrpc.WSIFOperation_JaxRpc.populateFaultMessage(WSIFOperation_JaxRpc.java:2978) at com.collaxa.cube.ws.wsif.providers.oc4j.jaxrpc.WSIFOperation_JaxRpc.invokeOperation(WSIFOperation_JaxRpc.java:1714) at com.collaxa.cube.ws.wsif.providers.oc4j.jaxrpc.WSIFOperation_JaxRpc.invokeRequestResponseOperation(WSIFOperation_JaxRpc.java:1463) at com.collaxa.cube.ws.wsif.providers.oc4j.jaxrpc.WSIFOperation_JaxRpc.executeRequestResponseOperation(WSIFOperation_JaxRpc.java:1185) at oracle.tip.esb.server.common.wsif.WSIFInvoker.executeOperation(WSIFInvoker.java:507) at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:430) at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:447) at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.nextService(OutboundAdapterService.java:184) at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.processBusinessEvent(OutboundAdapterService.java:112) at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatchNonRoutingService(InitialEventDispatcher.java:106) at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:85) at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1416) at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:105) at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:273) at oracle.tip.esb.s

Maybe you are looking for

  • Key Figure Aggregate in Bex Query based on Charactersitic

    Hi Gurus I am using BI7.0; but 3.5x BEx tools I am loading 6 fields from a flat file.  I am loading data for tickets.  I have create an InfoObject that counts the number of tickets.  No problem.  Also I also have key figures that I am assigning the s

  • BUG: "Save and compact" increases file size by 1KB each time?

    Flash CS4 I noticed that when I do "save and compact" on a .fla file, it causes the file size to increase by 1KB each time--even when no changes were made.  Can this be fixed?

  • Problem in Scheduling a Package/Interface in Oracle data Integrator.

    Hi all, I have a problem in scheduling in odi. I have followed the steps:- 1) launch a scheduler agent from commnadline using the command agentscheduler "-port=20300" "-v=5" 2.)created a Physical Agent and Logical Agent on this port 3.)and creating a

  • How to get the row number

    Hi list, does any one know how I can get the row number the same as what I have in column rowno? thanks Arvin REATE   TABLE dbo.temptable ( y int  NOT NULL,   e int not null,   c int not null,   rowno int not null) /* insert values  */ INSERT INTO db

  • Report for disply the information month wise

    matrial as row for each month sales informaition. how to create this report????