[OSB] SOAP Validation

Hello,
I have a proxy with service type "Any SOAP". Is there a way to validate the SOAP request?
For example:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:op="http://www.op.org/">
<soapenv:Header/>
<soapenv:Body>
<op:baja>
<op:id>2231</op:id>
</op:baja_ERROR>
</soapenv:Body>
</soapenv:Envelope>
or with wrong/inexistent namespace
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:op="http://www.op.org/">
<soapenv:Header/>
<soapenv:Body>
<op:baja>
<opINEXISTENT:id>2231</opINEXISTENT:id>
</op:baja>
</soapenv:Body>
</soapenv:Envelope>
or without Body:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:op="http://www.op.org/">
<soapenv:Header/>
</soapenv:Envelope>
is possible check this?
Thanks.

There is no out of the box way to do that. However you can try following:
Instead of defining a Any SOAP type service, create a dummy WSDL with AnyType request and response. In the Proxy Service configuration enable the WS-I compliance checkmark and it will validate the structure of SOAP Envelope for you.
The problem is that WS-I compliance is available for only WSDL based web services hence you will need the workaround.
You can find more details here:
http://docs.oracle.com/cd/E13159_01/osb/docs10gr3/userguide/modelingmessageflow.html#wp1076699

Similar Messages

  • Prefix namespace OSB, SOAP response

    Hi!
    I'm doing a web service in OSB 11g.
    An application is parsing the SOAP response after calling my WS, and they are expecting that my SOAP response have hardcode prefixes.
    My SOAP response is like this:
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
    XXXX
    </soapenv:Body>
    </soapenv:Envelope>
    They want another prefix (soap instead of env or other prefix). Something like this:
    <soap:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    XXXX
    </soap:Body>
    </soap:Envelope>
    Do you know how can I fix it? I know this is a problem of the application who is calling my WS, but if I can do this, I can solve them a problem.
    Thanks!!

    mybe the valid one is something like this,...please refer to the namespace,it sould be "xmlns:soap" than "xmlns:env" because you trying to use soap prefix .
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    XXXX
    </soap:Body>
    </soap:Envelope>
    you can change the soap message in many way...for example you can use message processing actions such as 'replace action':
    you can replace xpath . on variable $body with expression fn-bea:inlinedXML('<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    </soap:Body>
    </soap:Envelope>')
    hope it will helping you

  • OSB: Payload validation required for empty elements inside OSB process.

    Hello
    I need to validate the payload for non-empty elements. If the payload is completely empty then OSB should throw an error that the submitted payload is empty.
    If the payload contains at least one element then it should pass through.
    As in process to test this particular one, i have tried with the following code to generally validate for an element.
    xquery version "1.0" encoding "Cp1252";
    (:: pragma bea:global-element-parameter parameter="$inputParameters1" element="ns0:InputParameters" location="../adapter/StoreProcDB/xsd/StoreProcDBService_sp.xsd" ::)
    (:: pragma bea:schema-type-return type="ns1:Validation" location="../xsd/validation.xsd" ::)
    declare namespace xf = "http://tempuri.org/StoreProc_osb/transformation/PayloadValidation/";
    declare namespace ns1 = "http://www.sigmainfo.com/validation";
    declare namespace ns0 = "http://xmlns.oracle.com/pcbpel/adapter/db/sp/StoreProcDBService";
    declare function xf:PayloadValidation($inputParameters1 as element(ns0:InputParameters))
    as element()
    <ns1:Validation>
              <ns1:Payload>{$inputParameters1/.}</ns1:Payload>
              <ns1:ValidationErrorList>
                   (: BEGIN - Required Field Validations :)
              (:     if (empty($inputParameters1/ns0:ACCOUNTNUMBER/text())) then
                        <ns1:ValidationError>
                             <ns1:code>1</ns1:code>
                             <ns1:message>ACCOUNTNUMBER: Required Field</ns1:message>
                        </ns1:ValidationError> :)
                   if (empty($inputParameters1/ns0:AUDITUSER/text())) then
                        <ns1:ValidationError>
                             <ns1:code>1</ns1:code>
                             <ns1:message>AUDITUSER: Required Field</ns1:message>
                        </ns1:ValidationError>
                   else ''
                   (: END - Required Field Validations :)
    </ns1:ValidationErrorList>
         </ns1:Validation>
    declare variable $inputParameters1 as element(ns0:InputParameters) external;
    xf:PayloadValidation($inputParameters1)
    But it throws the following error:
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    REQUEST DOCUMENT:
    <soapenv:Envelope
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header
    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    </soap:Header>
    <soapenv:Body>
    <stor:InputParameters
    xmlns:stor="http://xmlns.oracle.com/pcbpel/adapter/db/sp/StoreProcDBService">
    <!--Optional:-->
    <stor:P_ACCOUNTNUMBER>00101</stor:P_ACCOUNTNUMBER>
    <!--Optional:-->
    <stor:P_AUDITUSER>venkat</stor:P_AUDITUSER>
    </stor:InputParameters>
    </soapenv:Body>
    </soapenv:Envelope>
    RESPONSE DOCUMENT:
    The invocation resulted in an error: . <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body><soapenv:Fault><faultcode>soapenv:Server</faultcode><faultstring>BEA-382505: OSB Validate action failed validation</faultstring><detail><con:fault xmlns:con="http://www.bea.com/wli/sb/context">
    <con:errorCode>BEA-382505</con:errorCode>
    <con:reason>OSB Validate action failed validation</con:reason>
    <con:details>
    <con1:ValidationFailureDetail xmlns:con1="http://www.bea.com/wli/sb/stages/transform/config">
    <con1:message>
    Incompatible elements: expected an XML instance of name "{http://xmlns.oracle.com/pcbpel/adapter/db/sp/StoreProcDBService}InputParameters", but found an XML instance of name "{http://schemas.xmlsoap.org/soap/envelope/}Body".
    </con1:message>
    <con1:xmlLocation/>
    </con1:ValidationFailureDetail>
    </con:details>
    <con:location>
    <con:node>PipelinePairNode1</con:node>
    <con:pipeline>PipelinePairNode1_request</con:pipeline>
    <con:stage>stage1</con:stage>
    <con:path>request-pipeline</con:path>
    </con:location>
    </con:fault>
    </detail>
    </soapenv:Fault>
    </soapenv:Body>
    </soapenv:Envelope>
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    But this is not the way it should be done as i progress.
    Please suggest a simple way to have a pragma with sample and complete validation for the input payload.
    Appreciate your help in advance
    Regards
    Venkat

    Venkat,
    Find below url's for implementing security policies in OSB
    http://docs.oracle.com/cd/E17904_01/doc.1111/e15866/owsm.htm#CHDEEGJI
    http://docs.oracle.com/cd/E17904_01/doc.1111/e15866/owsm.htm#CHDBIJHD
    http://niallcblogs.blogspot.in/2010/07/osb-11g-and-wsm.html
    http://biemond.blogspot.in/2009/06/ws-security-in-osb.html
    Regards,
    Abhinav

  • OSB: Soap 1.1 and Soap 1.2

    Hello i am tasked with a wsdl file that contains two port types one with soap 1.1 and the other with soap 1.2
    Now I need both the soap 1.1 and soap 1.2 to be available to the end user
    however in osb when creating the proxy service i am forced to choose either hte soap 1.1 binding or the soap 1.2 binding... will i have to create two separate proxy services for each or is there a way to have it where one proxy service can support both soap types?

    How come a SOAP 1.2 request can go through the whole flow even though the local PS and provider BS I chose the SOAP 1.1 ports?Make your PS_3 as Any XML Service proxy service and the select Local Transport.
    come a SOAP 1.2 request can go through the whole flow even though the local PS and provider BS I chose the SOAP 1.1 ports?Your PS_3 can accept both SOAP1.1 and SOAP1.2 as it's based on Any XML service.
    Regards,
    Abhinav

  • [OSB] SOAP Message Body Deleted in Routing Process

    Hello Folks,
    I'm using Oracle Services Bus 11g and I have the following scenario:
    A Business Services that is a client of a WebService. This WebService has an operation that return in its Soap Message a field with special characters (an encripted password).
    So, I've created an Proxy Service that route the request message to above business service, but when the message returned by Business service is routing back to Proxy Service the body of the message is deleted.
    Checking out the trace of the call, it says "Body was deleted" ! And so the message is returned by Proxy service without body !
    I suspected that problem is something about encoding !
    Someone could help me resolve this problem ?
    Thanks in advanced!

    Hi,
    I am facing some similar issues with OSB 10gR3 where the Message body gets deleted and i get empty soap body as response when i make continuous calls to a business service without any time delay between the calls.
    Though surprisingly i get the correct response from the business service for the first time but only on consecutive calls without any time delay between two calls i get empty soap body. Later if i try to call the business service leaving a gap of 15 sec after my first call, i get the correct response.
    I initially thought it might be a problem with the business service itself but when i try to make continuous calls to the Business service without any timedelay directly from SOAPUI , I am getting correct response everytime.
    Hence this seems to be a problem only when i invoke the business service via the OSB proxy and thsi deletes the response body wehn i make continuous calls.Not sure whether this is a bug with OSB or encoding issues.
    Pls help me to know if this has anything to do with the caching or any setting in OSB server.
    Thank you
    Preetha
    Edited by: 893969 on 31-Oct-2011 06:25
    Edited by: 893969 on 31-Oct-2011 06:27

  • SOAP validation error

    hi all,
    I am trying to validate a simple soap message against soap schema and the xml message part against my own schema. I am getting the following error:
    Envelope unmarshalled :[Attributes={}] [Header=null] [Body=[Attributes={}] [Body
    Entries=
    [(0)=[pns:staff: null]]
    ]] [EnvelopeEntries=]
    Error: org.xml.sax.SAXParseException: Schema error: sch-props-correct: Duplicate declaration for an attribute group encodingStyle.
    I am unable to understand the problem as I have not defined the encoding style in the SOAP message. I am pasting the soap message created:
    <?xml version="1.0"?>
    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.xmlsoap.org/soap/envelope/ http://localhost:8080/myDir/XML/schemas/schemas.xmlsoap.org.xsd">
    <s:Body>
    <pns:staff xmlns:pns="http://myDir/XML/schemas" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://myDir/XML/schemas http://localhost:8080/myDir/XML/schemas/staff_newns.xsd">
    <name>joe</name>
    <age>22</age>
    <email>[email protected]</email>
    </pns:staff>
    </s:Body>
    </s:Envelope>
    Would greatly appreciate all your help.
    thanks and regards,
    Rishi

    Hi all.
    Im using a simple soap template and validating with org.xml.sax.SAXParser.
    I've set my xmlreader schema and validation on.
    String defaultXMLReader =
    System.getProperties().getProperty("org.xml.sax.driver",
    "org.apache.xerces.parsers.SAXParser");
    reader =
    XMLReaderFactory.createXMLReader(defaultXMLReader);
    reader.setFeature("http://xml.org/sax/features/validation",
    true);
    reader.setFeature("http://apache.org/xml/features/validation/schema",
    true)
    I get the same error when I parse using inputsource or from file:
    sch-props-correct: Duplicate declaration for an attribute group encodingStyle.
    Here's my soap example:
    <?xml version="1.0" encoding="UTF-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://schemas.xmlsoap.org/soap/envelope/ http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header>
    </soap:Header>
    <soap:Body>
    </soap:Body>
    </soap:Envelope>
    Any ideas why the saxparser does not know about the schema location? Is there another feature I need to set in the reader so it knows to locate the schema? btw the parser validates fine other xml that does not have schema location.
    Appreciate help on this. Thanks.

  • Business Service SOAP Fault : OSB still using body to populate fault?

    I have a SOAP service specifically returning a SOAP fault. OSB doesn't recognize it as an fault and continues processing as if everything is OK. As per the documentation, in case of SOAP faults, OSB should generate a $fault variable based on the details present inside the SOAP fault, which in turn should give the control to the normal error handling stage and by pass the pipe line flow.
    Does anyone know how to get OSB to recognize a SOAP fault for what it is? Here's the response returned to OSB:
    <SOAP-ENV:Fault xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <faultactor/>
    <faultcode>SOAP-ENV:</faultcode>
    <faultstring>TEST ERROR 1</faultstring>
    <detail>
    <NS1:EOSGAPIError xsi:type="NS1:EOSGAPIError" xmlns:NS1="urn:eschelon.com/osg/1_0-OSGAPILib">
    <exceptionClassName xsi:type="xsd:string">Exception</exceptionClassName>
    <method xsi:type="xsd:string"/>
    </NS1:EOSGAPIError>
    </detail>
    </SOAP-ENV:Fault>
    Regards,
    Anuj

    Here are the contents of Invocation trace:
    (receiving request)
    Initial Message Context
    added $body
    <soapenv:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <SendSmsMessage xmlns="http://datasquirt.com/webservices/">
    <customerIdentificationCard>
    <CustomerID>12121</CustomerID>
    <CustomerRef1>1212121</CustomerRef1>
    <CustomerRef2>ASDASDASD</CustomerRef2>
    <DisableCustomerCreation>true</DisableCustomerCreation>
    </customerIdentificationCard>
    <sender>1212</sender>
    <receiver>12121</receiver>
    <messageText>
    Have you finished the page specs yet? Greetings from NEO!
    </messageText>
    </SendSmsMessage>
    </soapenv:Body>
    added $header
    <soapenv:Header xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"/>
    added $inbound
    <con:endpoint name="ProxyService$Testing$Testing123" xmlns:con="http://www.bea.com/wli/sb/context">
    <con:service/>
    <con:transport>
    <con:mode>request-response</con:mode>
    <con:qualityOfService>best-effort</con:qualityOfService>
    <con:request xsi:type="loc:LocalRequestMetaData" xmlns:loc="http://www.bea.com/wli/sb/transports/local" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <tran:headers xsi:type="loc:LocalRequestHeaders" xmlns:tran="http://www.bea.com/wli/sb/transports"/>
    <tran:encoding xmlns:tran="http://www.bea.com/wli/sb/transports">utf-8</tran:encoding>
    </con:request>
    <con:response xsi:type="loc:LocalResponseMetaData" xmlns:loc="http://www.bea.com/wli/sb/transports/local" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <tran:response-code xmlns:tran="http://www.bea.com/wli/sb/transports">0</tran:response-code>
    </con:response>
    </con:transport>
    <con:security>
    <con:transportClient>
    <con:username><anonymous></con:username>
    </con:transportClient>
    </con:security>
    </con:endpoint>
    added $messageID
    2118966794361651537--67bbd0aa.12b51c9a704.-7f90
    PipelinePairNode1
    stage1
    Message Context Changes
    changed $body
    <soapenv:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <SendSmsMessage xmlns="http://datasquirt.com/webservices/">
    <customerIdentificationCard>
    <CustomerID>12121</CustomerID>
    <CustomerRef1>1212121</CustomerRef1>
    <CustomerRef2>ASDASDASD</CustomerRef2>
    <DisableCustomerCreation>true</DisableCustomerCreation>
    </customerIdentificationCard>
    <sender>1212</sender>
    <receiver>12121</receiver>
    <messageText>
    Have you finished the page specs yet? Greetings from NEO!
    </messageText>
    </SendSmsMessage>
    </soapenv:Body>
    changed $inbound
    <con:endpoint name="ProxyService$Testing$Testing123" xmlns:con="http://www.bea.com/wli/sb/context">
    <con:service/>
    <con:transport>
    <con:mode>request-response</con:mode>
    <con:qualityOfService>best-effort</con:qualityOfService>
    <con:request xsi:type="loc:LocalRequestMetaData" xmlns:loc="http://www.bea.com/wli/sb/transports/local" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <tran:headers xsi:type="loc:LocalRequestHeaders" xmlns:tran="http://www.bea.com/wli/sb/transports"/>
    <tran:encoding xmlns:tran="http://www.bea.com/wli/sb/transports">utf-8</tran:encoding>
    </con:request>
    <con:response xsi:type="loc:LocalResponseMetaData" xmlns:loc="http://www.bea.com/wli/sb/transports/local" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <tran:response-code xmlns:tran="http://www.bea.com/wli/sb/transports">0</tran:response-code>
    </con:response>
    </con:transport>
    <con:security>
    <con:transportClient>
    <con:username><anonymous></con:username>
    </con:transportClient>
    </con:security>
    </con:endpoint>
    RouteNode1
    Routed Service
    Route to: "NotificationBsSendSMSNotificationHttp"
    $outbound:
    <con:endpoint name="BusinessService$NotificationOsbProject$BusinessServices$NotificationBsSendSMSNotificationHttp" xmlns:con="http://www.bea.com/wli/sb/context">
    <con:service>
    <con:operation>SendSmsMessageWithTemplate</con:operation>
    </con:service>
    <con:transport>
    <con:mode>request-response</con:mode>
    <con:qualityOfService>best-effort</con:qualityOfService>
    <con:request xsi:type="http:HttpRequestMetaData" xmlns:http="http://www.bea.com/wli/sb/transports/http" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <tran:headers xsi:type="http:HttpRequestHeaders" xmlns:tran="http://www.bea.com/wli/sb/transports">
    <http:Content-Type>text/xml</http:Content-Type>
    <http:SOAPAction>
    "http://datasquirt.com/webservices/SendSmsMessageWithTemplate"
    </http:SOAPAction>
    </tran:headers>
    </con:request>
    </con:transport>
    <con:security>
    <con:doOutboundWss>false</con:doOutboundWss>
    </con:security>
    </con:endpoint>
    $body (request):
    <soapenv:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <SendSmsMessage xmlns="http://datasquirt.com/webservices/">
    <customerIdentificationCard>
    <CustomerID>12121</CustomerID>
    <CustomerRef1>1212121</CustomerRef1>
    <CustomerRef2>ASDASDASD</CustomerRef2>
    <DisableCustomerCreation>true</DisableCustomerCreation>
    </customerIdentificationCard>
    <sender>1212</sender>
    <receiver>12121</receiver>
    <messageText>
    Have you finished the page specs yet? Greetings from NEO!
    </messageText>
    </SendSmsMessage>
    </soapenv:Body>
    $header (request):
    <soapenv:Header xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"/>
    $attachments (request):
    <con:attachments xmlns:con="http://www.bea.com/wli/sb/context"/>
    Message Context Changes
    added $outbound
    <con:endpoint name="BusinessService$NotificationOsbProject$BusinessServices$NotificationBsSendSMSNotificationHttp" xmlns:con="http://www.bea.com/wli/sb/context">
    <con:service>
    <con:operation>SendSmsMessageWithTemplate</con:operation>
    </con:service>
    <con:transport>
    <con:uri>
    http://tabcorpapi.datasquirt.com.au/V2/ContactService.asmx
    </con:uri>
    <con:mode>request-response</con:mode>
    <con:qualityOfService>best-effort</con:qualityOfService>
    <con:request xsi:type="http:HttpRequestMetaData" xmlns:http="http://www.bea.com/wli/sb/transports/http" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <tran:headers xsi:type="http:HttpRequestHeaders" xmlns:tran="http://www.bea.com/wli/sb/transports">
    <http:Content-Type>text/xml; charset=utf-8</http:Content-Type>
    <http:SOAPAction>
    "http://datasquirt.com/webservices/SendSmsMessageWithTemplate"
    </http:SOAPAction>
    </tran:headers>
    <tran:encoding xmlns:tran="http://www.bea.com/wli/sb/transports">utf-8</tran:encoding>
    </con:request>
    <con:response xsi:type="http:HttpResponseMetaData" xmlns:http="http://www.bea.com/wli/sb/transports/http" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <tran:headers xsi:type="http:HttpResponseHeaders" xmlns:tran="http://www.bea.com/wli/sb/transports">
    <tran:user-header name="X-AspNet-Version" value="2.0.50727"/>
    <tran:user-header name="X-Powered-By" value="ASP.NET"/>
    <http:Cache-Control>private</http:Cache-Control>
    <http:Content-Length>1180</http:Content-Length>
    <http:Content-Type>text/xml; charset=utf-8</http:Content-Type>
    <http:Date>Mon, 27 Sep 2010 11:27:25 GMT</http:Date>
    <http:Server>Microsoft-IIS/7.0</http:Server>
    </tran:headers>
    <tran:response-code xmlns:tran="http://www.bea.com/wli/sb/transports">0</tran:response-code>
    <tran:response-message xmlns:tran="http://www.bea.com/wli/sb/transports">OK</tran:response-message>
    <tran:encoding xmlns:tran="http://www.bea.com/wli/sb/transports">utf-8</tran:encoding>
    <http:http-response-code>200</http:http-response-code>
    </con:response>
    </con:transport>
    <con:security>
    <con:doOutboundWss>false</con:doOutboundWss>
    </con:security>
    </con:endpoint>
    changed $body
    <SOAP-ENV:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:clr="http://schemas.microsoft.com/soap/encoding/clr/1.0">
    <SOAP-ENV:Fault id="ref-1">
    <faultcode id="ref-2">SOAP-ENV:Authentication Issue</faultcode>
    <faultstring id="ref-3">
    Access Denied - Missing or incomplete Authentication Header
    </faultstring>
    <faultactor id="ref-4">
    http://tabcorpapi.datasquirt.com.au/V2/ContactService.asmx
    </faultactor>
    <detail xsi:type="a1:ServerFault" xmlns:a1="http://schemas.microsoft.com/clr/ns/System.Runtime.Serialization.Formatters">
    <exceptionType id="ref-5">ApiAuthenticationException</exceptionType>
    <message id="ref-6">
    Missing or incomplete Authentication Header
    </message>
    <stackTrace id="ref-7">
    at Datasquirt.Contact3.API.Security.AuthenticationModule.OnEnter(Object source, EventArgs eventArgs)
    </stackTrace>
    <exception xsi:null="1"/>
    </detail>
    </SOAP-ENV:Fault>
    </SOAP-ENV:Body>
    changed $attachments
    <con:attachments xmlns:con="http://www.bea.com/wli/sb/context"/>
    changed $inbound
    <con:endpoint name="ProxyService$Testing$Testing123" xmlns:con="http://www.bea.com/wli/sb/context">
    <con:service/>
    <con:transport>
    <con:mode>request-response</con:mode>
    <con:qualityOfService>best-effort</con:qualityOfService>
    <con:request xsi:type="loc:LocalRequestMetaData" xmlns:loc="http://www.bea.com/wli/sb/transports/local" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <tran:headers xsi:type="loc:LocalRequestHeaders" xmlns:tran="http://www.bea.com/wli/sb/transports"/>
    <tran:encoding xmlns:tran="http://www.bea.com/wli/sb/transports">utf-8</tran:encoding>
    </con:request>
    <con:response xsi:type="loc:LocalResponseMetaData" xmlns:loc="http://www.bea.com/wli/sb/transports/local" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <tran:response-code xmlns:tran="http://www.bea.com/wli/sb/transports">0</tran:response-code>
    </con:response>
    </con:transport>
    <con:security>
    <con:transportClient>
    <con:username><anonymous></con:username>
    </con:transportClient>
    </con:security>
    </con:endpoint>
    changed $header
    <soapenv:Header xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"/>
    PipelinePairNode1
    stage1
    Message Context Changes
    changed $body
    <SOAP-ENV:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:clr="http://schemas.microsoft.com/soap/encoding/clr/1.0">
    <SOAP-ENV:Fault id="ref-1">
    <faultcode id="ref-2">SOAP-ENV:Authentication Issue</faultcode>
    <faultstring id="ref-3">
    Access Denied - Missing or incomplete Authentication Header
    </faultstring>
    <faultactor id="ref-4">
    http://tabcorpapi.datasquirt.com.au/V2/ContactService.asmx
    </faultactor>
    <detail xsi:type="a1:ServerFault" xmlns:a1="http://schemas.microsoft.com/clr/ns/System.Runtime.Serialization.Formatters">
    <exceptionType id="ref-5">ApiAuthenticationException</exceptionType>
    <message id="ref-6">
    Missing or incomplete Authentication Header
    </message>
    <stackTrace id="ref-7">
    at Datasquirt.Contact3.API.Security.AuthenticationModule.OnEnter(Object source, EventArgs eventArgs)
    </stackTrace>
    <exception xsi:null="1"/>
    </detail>
    </SOAP-ENV:Fault>
    </SOAP-ENV:Body>
    changed $outbound
    <con:endpoint name="BusinessService$NotificationOsbProject$BusinessServices$NotificationBsSendSMSNotificationHttp" xmlns:con="http://www.bea.com/wli/sb/context">
    <con:service>
    <con:operation>SendSmsMessageWithTemplate</con:operation>
    </con:service>
    <con:transport>
    <con:uri>
    http://tabcorpapi.datasquirt.com.au/V2/ContactService.asmx
    </con:uri>
    <con:mode>request-response</con:mode>
    <con:qualityOfService>best-effort</con:qualityOfService>
    <con:request xsi:type="http:HttpRequestMetaData" xmlns:http="http://www.bea.com/wli/sb/transports/http" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <tran:headers xsi:type="http:HttpRequestHeaders" xmlns:tran="http://www.bea.com/wli/sb/transports">
    <http:Content-Type>text/xml; charset=utf-8</http:Content-Type>
    <http:SOAPAction>
    "http://datasquirt.com/webservices/SendSmsMessageWithTemplate"
    </http:SOAPAction>
    </tran:headers>
    <tran:encoding xmlns:tran="http://www.bea.com/wli/sb/transports">utf-8</tran:encoding>
    </con:request>
    <con:response xsi:type="http:HttpResponseMetaData" xmlns:http="http://www.bea.com/wli/sb/transports/http" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <tran:headers xsi:type="http:HttpResponseHeaders" xmlns:tran="http://www.bea.com/wli/sb/transports">
    <tran:user-header name="X-AspNet-Version" value="2.0.50727"/>
    <tran:user-header name="X-Powered-By" value="ASP.NET"/>
    <http:Cache-Control>private</http:Cache-Control>
    <http:Content-Length>1180</http:Content-Length>
    <http:Content-Type>text/xml; charset=utf-8</http:Content-Type>
    <http:Date>Mon, 27 Sep 2010 11:27:25 GMT</http:Date>
    <http:Server>Microsoft-IIS/7.0</http:Server>
    </tran:headers>
    <tran:response-code xmlns:tran="http://www.bea.com/wli/sb/transports">0</tran:response-code>
    <tran:response-message xmlns:tran="http://www.bea.com/wli/sb/transports">OK</tran:response-message>
    <tran:encoding xmlns:tran="http://www.bea.com/wli/sb/transports">utf-8</tran:encoding>
    <http:http-response-code>200</http:http-response-code>
    </con:response>
    </con:transport>
    <con:security>
    <con:doOutboundWss>false</con:doOutboundWss>
    </con:security>
    </con:endpoint>
    changed $inbound
    <con:endpoint name="ProxyService$Testing$Testing123" xmlns:con="http://www.bea.com/wli/sb/context">
    <con:service/>
    <con:transport>
    <con:mode>request-response</con:mode>
    <con:qualityOfService>best-effort</con:qualityOfService>
    <con:request xsi:type="loc:LocalRequestMetaData" xmlns:loc="http://www.bea.com/wli/sb/transports/local" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <tran:headers xsi:type="loc:LocalRequestHeaders" xmlns:tran="http://www.bea.com/wli/sb/transports"/>
    <tran:encoding xmlns:tran="http://www.bea.com/wli/sb/transports">utf-8</tran:encoding>
    </con:request>
    <con:response xsi:type="loc:LocalResponseMetaData" xmlns:loc="http://www.bea.com/wli/sb/transports/local" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <tran:response-code xmlns:tran="http://www.bea.com/wli/sb/transports">0</tran:response-code>
    </con:response>
    </con:transport>
    <con:security>
    <con:transportClient>
    <con:username><anonymous></con:username>
    </con:transportClient>
    </con:security>
    </con:endpoint>
    As per my understanding after Route to: "NotificationBsSendSMSNotificationHttp", the fault should be present in the $fault variable in place of $body,
    Regards,
    Anuj

  • OSB: Attach SOAP Header for SOAP Fault

    Hi,
    Is there a way to return OSB SOAP Fault with custom SOAP Header?
    Currently, when SOAP Fault happens, SOAP Header is not returned. I would like to insert some elements in the SOAP header and return when SOAP Fault happens.
    Thanks.

    Hi Eric,
    Thanks for your tips. It was helpful!
    I've managed to insert custom SOAP header to a SOAP fault.
    In service error handler,
    1. Construct custom header and replace header variable content
    2. Replace body content with fault variable
    3. Reply with failure
    Thanks.

  • Action Metrics in OSB Console - Error

    I am trying to explorer Action Metrics in OSB for validating the performance of a proxy service.
    If i try with small project which has around 3 stages and 10 assign & 2 publish - Action Metrics tab is populating correctly in sb console.
    But if i have a OSB service which has a proxy service having below things,I am getting error in sbconsole as "null" & in server logs as show below.
    11 stages
    31 assign activities (2 Xquery calls included)
    10 replace activity
    4 if-then-else (conditional check)
    12 Publish actionsError in Server logs :
    ####<Oct 8, 2012 3:11:39 AM PDT> <Error> <ALSB Console> <nke-lnx-int-d001> <devosb3AdminServer> <[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-
    tuning)'> <branga> <> <3d7f9cebf2eef936:-6c0ad2fc:13a1c032f75:-8000-0000000000260f75> <1349691099631> <BEA-494002> <Internal error occured in OSBConsole :
    java.lang.IllegalArgumentException: null id
            at com.bea.wli.sb.util.RouterElement.<init>(RouterElement.java:214)
            at com.bea.wli.sb.util.RouterElementFactory.traverseAction(RouterElementFactory.java:168)
            at com.bea.wli.sb.util.RouterElementFactory.traverseActionSequence(RouterElementFactory.java:88)
            at com.bea.wli.sb.util.RouterElementFactory.traverseStage(RouterElementFactory.java:152)
            at com.bea.wli.sb.util.RouterElementFactory.traversePipeline(RouterElementFactory.java:142)
            at com.bea.wli.sb.util.RouterElementFactory.traversePipelineNode(RouterElementFactory.java:129)
            at com.bea.wli.sb.util.RouterElementFactory.traversePipelineFlowType(RouterElementFactory.java:66)
            at com.bea.wli.sb.util.RouterElementFactory.toRouterElement(RouterElementFactory.java:49)
            at com.bea.alsb.console.svcmonitor.RouterStatisticsHelper.getRouterStatisticComponent(RouterStatisticsHelper.java:94)
            at com.bea.alsb.console.svcmonitor.actions.ViewServiceStatisticsAction.execute(ViewServiceStatisticsAction.java:196)
            at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
            at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201(PageFlowRequestProcessor.java:97)
            at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunner.execute(PageFlowRequestProcessor.java:2044)
            at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors.wrapAction(ActionInterceptors.java:91)
            at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:2116)
            at com.bea.alsb.console.common.base.SBConsoleRequestProcessor.processActionPerform(SBConsoleRequestProcessor.java:91)
            at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
            at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:556)
            at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:853)
            at com.bea.alsb.console.common.base.SBConsoleRequestProcessor.process(SBConsoleRequestProcessor.java:191)
            at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:631)
            at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:158)
            at com.bea.console.internal.ConsoleActionServlet.process(ConsoleActionServlet.java:262)
            at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
            at com.bea.console.internal.ConsoleActionServlet.doGet(ConsoleActionServlet.java:134)
            at com.bea.alsb.console.common.base.SBConsoleActionServlet.doGet(SBConsoleActionServlet.java:49)
            at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1199)
            at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1129)
            at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.executeAction(ScopedContentCommonSupport.java:687)
            at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.renderInternal(ScopedContentCommonSupport.java:266)
            at com.bea.portlet.adapter.scopedcontent.StrutsStubImpl.render(StrutsStubImpl.java:107)
            at com.bea.netuix.servlets.controls.content.NetuiContent.preRender(NetuiContent.java:292)
            at com.bea.netuix.nf.ControlLifecycle$6.visit(ControlLifecycle.java:428)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:727)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)
            at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:146)
            at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:395)
            at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361)
            at com.bea.netuix.nf.Lifecycle.runOutbound(Lifecycle.java:208)
            at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:162)
            at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:388)
            at com.bea.netuix.servlets.manager.UIServlet.doPost(UIServlet.java:258)
            at com.bea.netuix.servlets.manager.UIServlet.doGet(UIServlet.java:211)
            at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:196)
            at com.bea.netuix.servlets.manager.SingleFileServlet.service(SingleFileServlet.java:251)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
            at weblogic.servlet.AsyncInitServlet.service(AsyncInitServlet.java:130)
            at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
            at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
            at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
            at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
            at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
            at java.security.AccessController.doPrivileged(Native Method)
            at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
            at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
            at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
            at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
            at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
            at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
            at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
            at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
            at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
            at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
            at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
            at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
            at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
            at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)

    Can you check if the proxy works fine if your turn off monitoring?

  • Using Business Service that supports XML over HTTP in OSB

    Hi,
    I needed to integrate my system with another legacy system that supports communication only through XML over HTTP. I am just trying to understand much about this XML over HTTP. I think in OSB, this is possible only possible through REST interfaces.
    Is there any other way and what about HTTP bindings in WSDLs? can you please let me know if you have any insights.
    I have gone through the urls about REST interfaces given in these forums. But just wanted to confirm the following scenaiors possible in OSB.
    - Client will connect to SOAP based proxy service which will in turn call REST based business service.
    - Client will connect to REST base proxy service which will in turn call SOAP based business service.
    Following point is not clear from the URLs i went through so just wanted to confirm the following too:
    - Client will connect to REST base proxy service which will in turn call SOAP based business service. And is it possible to add anything in soap header before calling soap based business service..
    Thanks & Regards
    Siva

    Hi Siva,
    XML over HTTP is a general use case and OSB supports it very well. REST is a special case and should be used when required. To know more about REST you may refer -
    http://www.infoq.com/articles/rest-introduction
    Now coming to OSB, SOAP and simple XML are two different cases. If you are creating XML type service then it is not binded to a WSDL/XSD but SOAP based service should always be binded with a WSDL. You may add/modify transport headers in OSB.
    Evaluate your requirements and then decide what exactly you need to use. Few links which may be of your use -
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/configuringandusingservices.html#wp1150438
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/configuringandusingservices.html#wp1154255
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/configuringandusingservices.html#wp1141071
    section "Configuring Business Services using the HTTP Transport" here - http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/httppollertransport/transports.html#wp1083292
    http://blogs.oracle.com/jeffdavies/2009/06/restful_services_with_oracle_s_1.html
    http://blogs.oracle.com/jamesbayer/2008/07/using_rest_with_oracle_service.html
    Regards,
    Anuj

  • Discarding JMS messages from queue

    Hi,
    I have some Weblogic JMS queues, and some OSB SOAP based JMS Proxy Services listening to those queues.
    Sometimes, the source application puts a message in the JMS queue, which is not a valid SOAP XML, or sometimes is a simple text. For such cases, the Proxy service is not able to receive the message from the JMS, and the OSB logs keep on piling up with the error messages.
    Is there any way to discard such messages, which the proxy is unable to read, automatically ?

    Hello buddies,
    I have the same problem. The scenario is the following:
    On request:
    WS Client -> FrontRequestQueue -> Proxy Service -> Business Service -> BackRequestQueue -> WS Server JMS
    On response:
    WS Client <- FrontRequestQueue <- Proxy Service <- Business Service <- BackResponseQueue <- WS Server JMS
    1st Case: WS Client send a correct & valid Soap Message with all request info OK. Result OK
    2nd Case: WS Client send a Soap Message with KO info. Result: Error handled on Proxy Service and error message is returned, OK.
    3rd Case: WS Client send a "HelloWorld" String.
    Result:
    An *<Error> +<OSB Kernel> <BEA-380003> <Excepción en TransportManagerImpl.receiveMessage, com.bea.wli.sb.context.BindingLayerException: Failed to parse XML text+*
    com.bea.wli.sb.context.BindingLayerException: Fallo al anular la canalización del mensaje: Failed to parse XML text*
    +     at com.bea.wli.sb.context.ContextUtils.newException(ContextUtils.java:933)+
    etc...
    Proxy Service tries to read the messages from the queue infinitely producing many errors on server, so I have to stop the queue and delete the message to force stop it.
    I've changed all the JMS Transport "retry" params on Proxy and Biz services and the behaviour is the same, any suggestions?
    Thanks to all.

  • Oracle Service Bus strict validatition of xsd:any

    Hello,
    I'm trying to get an xsd:any validated in the OSB, processContent for it is strict. I realize the XSD that declares the any element has to be imported by the XSD that the OSB is validating in the first place. My question is: is it possible to instruct the OSB to validate the xsd:any against another schema that is not imported by the one I'm validating against?
    For example:
    A.xsd is like:
    <xsd:schema targetNamespace="http://foo" xmlns:xsd="http://www.w3.org/2001/XMLSchema" >
    <xsd:element name="root">
    <xsd:complexType>
    <xsd:sequence minOccurs="1" maxOccurs="1">
    <xsd:any namespace="##any" minOccurs="1" maxOccurs="unbounded" processContents="strict"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>
    B.xsd is like:
    <xsd:schema targetNamespace="http://bar" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:element name="x" type="xsd:integer"/>
    </xsd:schema>
    So there is no import of B.xsd in the A.xsd.
    But I would like this to be validated in the OSB:
    <foo:root xmlns:foo="http://foo" xmlns:bar="http://bar">
    <bar:x>1</bar:x>
    </foo:root>
    Of course I get the error saying that the declaration of the element bar:x is not defined. Can I instruct the OSB to search for the B.xsd somewhere?
    Thanks!

    Manoj written:
    OSB cannot resolve dependencies in XSD/WSDL even if the URI is standard one. We have to use Edit References button for resolving dependencies in XSD/WSDL resources. Click on Edit References and resolve your dependencies. OSB will internally link the resources, and the above error will be gone. So it seems that for all includes and imports, you have to resolve dependencies locally i.e. all included/imported resources should be present in service bus configuration even if the URI of those are a standard one.
    I am not sure how you could change it at console as there again it asks to resolve dependency if you provide a valid HTTP URL.
    Regards,
    Anuj

  • SOA Mediator - javax.xml.soap.SOAPException: oracle.j2ee.ws.saaj.ContentTypeException: Not a valid SOAP Content-Type: text/html

    I am using SOA Mediator 11.1.1.7(11g) and while invoking a thrid party web service API I get the following error. Please help me fix this issue.
    ORAMED-03302:[Exception in oneway execution]Unexpected exception in one-way operation "execute" on reference "AppvOffclJMSInAdapter_Exist_RS.AppvOffclJMSInAdapter_Exist_RS".Possible Fix:Check whether the reference service is properly configured and running or look at exception for analyzing the reason or contact Oracle Support Services. Cause:Unable to invoke endpoint URI "https://stripesqa.doe.gov/headergeneric/HeaderGeneric/HeaderGeneric.asmx" successfully due to: javax.xml.soap.SOAPException: oracle.j2ee.ws.saaj.ContentTypeException: Not a valid SOAP Content-Type: text/html
    Thanks,
    Veda

    user9055538 wrote:
    i test the soa webservcies in a browserHi,
    It would help if you could give us more details...
    What type of soa webservices are we talking about here (JAX-RPC/BPEL/OSB)?
    And how exactly are you testing your soa webservices in a browser (EM)?
    A valid SOAP will have content-type: text/xml
    You may be pointing to a invalid endpoint or you may have an authentication/authorisation problem, so you are receiving html instead of soap...
    Cheers,
    Vlad

  • Oracle.j2ee.ws.saaj.ContentTypeException: Not a valid SOAP Content-Type: te

    oracle.j2ee.ws.saaj.ContentTypeException: Not a valid SOAP Content-Type: text/html; charset=UTF-8
    Cause: oracle.j2ee.ws.saaj.ContentTypeException: Not a valid SOAP Content-Type: text/html; charset=UTF-8
    I am getting the above error message when i test the soa webservcies in a browser.when i test with soap ui it works fine

    user9055538 wrote:
    i test the soa webservcies in a browserHi,
    It would help if you could give us more details...
    What type of soa webservices are we talking about here (JAX-RPC/BPEL/OSB)?
    And how exactly are you testing your soa webservices in a browser (EM)?
    A valid SOAP will have content-type: text/xml
    You may be pointing to a invalid endpoint or you may have an authentication/authorisation problem, so you are receiving html instead of soap...
    Cheers,
    Vlad

  • Need to Send SOAP information on OSB message.

    Hi Everyone,
    iam trying to invoke BPEL process by using OSB business servicee.
    The BPEL process WebService expected SOAP Header with wsse:Username and Wsse:Password along with message sent from OSB.
    I did try using the service account with basic authentication it gives following error
    Error authenticating the transport username/password: [Security:090304]Authentication Failed: User testuser javax.security.auth.login.FailedLoginException: [Security:090302]Authentication Failed: User testuser denied
    When service account was created in OSB the username:testuser and password:welcome1.
    Since iam new to OSB i unable to figure out what might have gone wrong.
    Will the above mentioned method embed the SOAP Header message to invoke my BPEL Web Service
    Can some one throws some thought or suggestions for me to proceed further on this issue.I would appreicate if some could help me out on this.
    This is very critical to my Project deadline.
    Please Please Help
    Thanks in Advance
    Regards
    Sabir

    Hi Manoj
    I tried your suggestion by adding Transport Header on the Message Request on the Proxy Message Flow.
    Then i added the XML Content on the expression as string and then it says Setting Outbound request headers is only possible when the context variable "outbound" is valid. This error come ups on the Workspace
    Can you please let me know if iam doing something wrong here
    This is the Message Header which needs to be sent to the Web Service
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <soap:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" soap:mustUnderstand="1"><wsse:UsernameToken xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><wsse:Username>testuser</wsse:Username><wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">welcome1</wsse:Password></wsse:UsernameToken></wsse:Security></soap:Header>
    Edited by: sab2 on Oct 12, 2009 12:15 PM

Maybe you are looking for

  • Follow Up Question For Patrick (et al.) ...

    Good morning, Patrick, A short while back I asked for a recommendation as to a means for freeing up one of the 500GB drives in my new Mac Pro for media by purchasing an additional drive to run the OS on. You suggested a Seagate and stated that you pl

  • How do I "uninstall" Photoshop Elements 4.0

    I have two versions of Photoshop Elements 4.0 installed on our computer. One in German (we use to live in Europe), which I would like to remove, and one in English. I loaded the new english program, thinking it would override the other but what happe

  • Highlighting Expert

    Post Author: jcpub CA Forum: Administration I am using Highlighting Expert to change the color of several fields based on the data found in a particular fields.  It works OK.  However, I have several columns to format and 5 criteria per column.  Is t

  • Files & Settings Disappeared

    I'm working on an issue for a customer, and I'm stumped. Details: Computer 20in' iMac Core Duo 2 days ago the system lost power due to a power outage, and, of course, they don't have a UPS. On the next boot up, all their user settings had been reset

  • How can i retrieve deleted videos on my iphone 4s ?

    How can i retrieve deleted video on my iphone ? i hope you help me i have deleted important video,