Integration

Get Involved. Join the Conversation.

Topic

    Mohana Gopal Selvam
    Internal server errorAnswered
    Topic posted August 25, 2019 by Mohana Gopal SelvamSilver Crown: 22,500+ Points, last edited August 25, 2019, tagged API, Orchestration 
    43 Views, 25 Comments
    Title:
    Internal server error
    Content:

    Hi,

    I have tried to build the integration of third party using OIC. I have done the mapping successfully. When I tried to execute the OIC API, I got the below error.

    {
      "type" : "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.1",
      "title" : "Internal Server Error",
      "detail" : "Internal server error. Please contact oracle support for details.",
      "o:errorCode" : "500",
      "o:errorDetails" : [ {
        "type" : "UnMappedFault:UpdateLicenses",
        "instance" : "NA",
        "title" : "javax.xml.ws.WebServiceException: Error while dispatching SOAP message to the endpoint http://xx.xx.x.x/Service.svc:javax.xml.soap.SOAPException: javax.xml.soap.SOAPException: Not a valid SOAP Content-Type: text/html; charset=UTF-8\n===== reqeust ========\nContent-Type:text/xml; charset=UTF-8\nContent-Length:1926\nSOAPAction:\"http://xx.xx.xx/UpdateLicenses\"\n<env:Envelope xmlns:env=\"http://schemas.xmlsoap.org/soap/envelope/\"><env:Header/><env:Body><tns:AccountList xmlns:wsa=\"http://schemas.xmlsoap.org/ws/2004/08/addressing\" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\" xmlns:wsp=\"http://schemas.xmlsoap.org/ws/2004/09/policy\" xmlns:xml=\"http://www.w3.org/XML/1998/namespace\" xmlns:wsu=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd\" xmlns:nsmpr0=\"http://xmlns.oracle.com/cloud/adapter/REST/ORDS_DSC_REQUEST/types\" xmlns:wsx=\"http://schemas.xmlsoap.org/ws/2004/09/mex\" xmlns:wsaw=\"http://www.w3.org/2006/05/addressing/wsdl\" xmlns:wsa10=\"http://www.w3.org/2005/08/addressing\" xmlns:soap12=\"http://schemas.xmlsoap.org/wsdl/soap12/\" xmlns:tns=\"http://xx.xx.xx.xx/V01\" xmlns:msc=\"http://schemas.microsoft.com/ws/2005/12/wsdl/contract\" xmlns:wsap=\"http://schemas.xmlsoap.org/ws/2004/08/addressing/policy\" xmlns:nstrgmpr=\"http://xmlns.oracle.com/types/DPW_DSC/OutboundSOAPRequestDocument\":Application Error",
        "o:errorPath" : "NA",
        "o:errorCode" : "NA"
      } ]
    }
    

    When I check the payload, body is formed correctly. Any Idea?

    Thanks,

    Mohan

    Best Comment

    Hemanth Lakkaraju

    I suspect redirection is the issue here. SoapUI does it automatically - you can check that in SoapUI log as well.

    Comment

     

    • Hemanth Lakkaraju

      Try the same payload in SoapUI to figure out the problem. The reason here is that the service used is returning a html response for the request payload sent. Most possible reason is incorrect security in request.

    • Mohana Gopal Selvam

      Hi Hemanth,

      I have captured the payload from the tracking and put it in the SoapUI. There is no response in XML, but got 'HTTP/1.1 400 Bad Request' request in Raw mode.

      There is no security in the Header. As part of the request, we have to pass the token and our IPs are whitelisted by the vendor.

      Request Payload in the Tracking:

      <OutboundSOAPRequestDocument xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:nsmpr0="http://xmlns.oracle.com/cloud/adapter/REST/ORDS_DSC_REQUEST/types" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:tns="http://xx.xx.xx.xx/V01" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:nstrgmpr="http://xmlns.oracle.com/types/DPW_DSC/OutboundSOAPRequestDocument" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns="http://xmlns.oracle.com/types/DPW_DSC/OutboundSOAPRequestDocument">
         <nstrgmpr:Body>
            <tns:AccountList>
               <tns:Accounts>\

      ...

      </tns:Accounts>
            </tns:AccountList>
         </nstrgmpr:Body>
      </OutboundSOAPRequestDocument>

      Thanks,

      Mohan

      • Hemanth Lakkaraju

        That's not the right way. That's the integration payload and you cannot use it directly. Copy the data within fields and  and explicitly construct the request and try test along with same security as you apply in the OIC connection for this endpoint.

    • Mohana Gopal Selvam

      Hi Hemanth,

      There is no security for this SOAP request. I have defined as no security policy. And if I copy the data manually in the SOAP UI, I got the result. 

      Thanks,

      Mohan

      • Hemanth Lakkaraju

        In that case, two other possibilities - 1. Check if the service is reachable from the OIC. If you are using URL in the connection and the WSDL mentions endpoint based on same URL, then this can be ruled out.

        2. Check if there is a redirection happening on accessing the endpoint URL and if so, please fix the endpoint or use the correct endpoint.

    • Mohana Gopal Selvam

      Hi Hemanth,

      I can successfully tested the Connection in OIC which means it is accessible from OIC.

      I noticed endpoint URL is different. I have hardcoded it in the Endpoint URI. But still got the same error.

      Thanks,

      Mohan

    • Mohana Gopal Selvam

      Hi Hemanth,

      Please find the screenshot where I have tried the endpoint URL.

      When I tested the WSDL in SoapUI, I have to modify the endpoint URL. So I thought I have to provide the EndpointURI. But I got same result with Endpoint URI & without Endpoint URI.

      Thanks,

      Mohan

      Please Note: Error message are same, so Endpoint URI doesnt make sense.

    • Mohana Gopal Selvam

      I have modified the endpoint URL in SoapUI and I provided the same in Endpoint URI.

      The WSDL endpoint URL pointing to UAT environment, so I have manually changed the SIT endpoint URL in SoapUI.

      Thanks,

      Mohan

      • Hemanth Lakkaraju

        It is not making any sense w.r.t the error unless the authentication is different for environments and the service throws a HTML 401 error. But I think you said it is a no-security endpoint so I've to rule this out.

        Can you share the actual endpoint URL in SoapUI? Modified one? The wsdl used in connection and the endpoint you updated in mapping?

        • Mohana Gopal Selvam

          The below one appeared by default while upload the WSDL

          http://services.dsc.***.***/Accounts/DataService.svc

          Modified one:

          http://uat.dsc.***.***/Accounts/DataService.svc

          Thanks,

          Mohan

          • Hemanth Lakkaraju

            Unless you give the complete endpoint, it will be difficult to tell what the issue is.

            So you are using an upload wsdl connection with http://services** as endpoint URL but your SoapUI endpoint is based on http://uat** and both are no security?

            What is the URL when you open the http://uat**? Is it still http? or redirecting to https? or redirecting to any other host?

    • Mohana Gopal Selvam

      I have modified the endpoint URL in SoapUI and I provided the same in Endpoint URI.

      The WSDL endpoint URL pointing to UAT environment, so I have manually changed the SIT endpoint URL in SoapUI.

      Thanks,

      Mohan

    • Mohana Gopal Selvam

      Hi Hemanth,

      I got the UAT WSDL file and tried the same. But same issue. Now I havent change anything in SoapUI as well.

      Thanks,

      Mohan

    • Mohana Gopal Selvam

      Hi Hemanth,

      I have modified the endpoint URL in the WSDL file and save it as file as you suggested and create new connection.

      When I tried to include the connection in my Integration, I got the below error now.

      WSDL port type is null or size is zero. [Cause: ICS-10934]
       
      • ICS-10934 : WSDL port type is null or size is zero.
    • Mohana Gopal Selvam

      Yes I am using SingleWSDL.

    • Mohana Gopal Selvam

      Hi Hemanth,

      I have modified http to https in the WSDL file and I can able to put it in the integration. But now got the different error

       

      {
        "type" : "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.1",
        "title" : "Internal Server Error",
        "detail" : "Internal server error. Please contact oracle support for details.",
        "o:errorCode" : "500",
        "o:errorDetails" : [ {
          "type" : "UnMappedFault:UpdateLicenses",
          "instance" : "NA",
          "title" : "CASDK-0033: Received a SOAP fault while invoking endpoint target: https://xx.Service.svc. This indicates a processing exception on the service endpoint side. Please check service side logs to further diagnose the problem <![CDATA[ \nFault Code : a:ActionNotSupported\nFault String : The message with Action 'https://xx.xx.Integration/UpdateLicenses' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver.  Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None).\n ]]>\n:Application Error",
          "o:errorPath" : "NA",
          "o:errorCode" : "NA"
        } ]
      }
      

      Thanks,

      Mohan

      • Hemanth Lakkaraju

        Are you sending wsa:Action in the header? Does that have right value?

        If not, Check your SoapAction for the invoke - probably it is going wrong. Ideally, the SoapAction gets picked from the wsdl binding operation.

        You are giving only bits and pieces of information which doesn't help to identify the problem here. Please explain clearly on what you have used/done for the connection/integration to figure out the problem.

        However, I've used the singleWsdl with endpoint updated to https and created a simple invoke and ran a test and got a successful response (200 with Invalid Token in message).

    • Mohana Gopal Selvam

      Hi Hemanth,

      Are you just updating the URL in the endpoint section alone?

      Whatever we are passing in the SoapUI, I mapped the same in ICS. We haven't passed anything in the header in SoapUI & ICS. 

      Actually I tried to create RestAPI which is going to consume in our VBCS.

      In my orchestration, 

      1. First step we received the Account Id 

      2. Pass this Account Id to another API (ORDS Rest API) and get the data

      3. Pass the ORDS Rest API result to DSC Soap 

      Currently I faced the issue in the third step. I hope it is clarify you.

      Thanks,

      Mohan

       

    • Mohana Gopal Selvam

      Hi Heamanth,

      Thanks for your support. As you correctly said, the redirection is the issue. WSDL is redirecting to http to https.

      I have modified the endpoint URL alone in the WSDL and it is working fine now.

      Thanks,

      Mohan