Missing Namespace In Response After Call With NULL Values To Partner Link (Doc ID 567170.1)

Last updated on FEBRUARY 09, 2012

Applies to:

Oracle(R) BPEL Process Manager - Version: 10.1.3.3 and later   [Release: and later ]
Information in this document applies to any platform.

Symptoms

There is an inconsistency regarding namespaces between the message displayed in the BPEL Control and the actual response returned by the process itself. The problem arises when one of the nodes has a null value. In this case the response part seems to miss the namespace.

A Not-Null value for an XML element in the payload, means that we have a value for that element:

<v11:SysId>The SysId</v11:SysId>

A Null value for an XML element in the payload, means the element is empty:


<v11:SysId></v11:SysId>

Please see below a sample payload and response. Take a look at SysId field to see how it changes when it's null or not-null.

1. For example with the NOT-NULL values in Payload (for SysId):

<soapenv:Envelope  xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:v1=http://www.somenamespace.com/v1
xmlns:v11=http://www.somenamespace.com/v11
>
<soapenv:Header/>
<soapenv:Body>
  <v1:ValidateResponse>
  <v1:ErrorMessage>
    <v11:SysId>The SysId</v11:SysId>
    <v11:Class>The class</v11:Class> 
    <v11:Type>The Type</v11:Type>

  </v1:ValidateResponse>
</soapenv:Body>
</soapenv:Envelope>

we have the response :

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> 
  <env:Header/> 
  <env:Body> 
     <BestilResponse xmlns="http://www.somenamespace.com/v1"> 
     <ErrorMessage> 
       <v11:SysId xmlns:v11="http://www.somenamespace.com/v11">The SysId</v11:SysId> 
       <v11:Class xmlns:v11="http://www.somenamespace.com/v11">The class</v11:Class> 
       <v11:Type xmlns:v11="http://www.somenamespace.com/v11">The type</v11:Type> 
      </ErrorMessage> 
      </BestilResponse> 
  </env:Body> 
</env:Envelope>

2. For NULL values in Payload (for SysId) : 

<soapenv:Envelope  xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:v1=http://www.somenamespace.com/v1 
xmlns:v11=http://www.somenamespace.com/v11> 
<soapenv:Header/> 
<soapenv:Body> 
  <v1:ValidateResponse> 
  <v1:ErrorMessage> 
    <v11:SysId></v11:SysId> 
    <v11:Class>The class</v11:Class> 
    <v11:Type>The Type</v11:Type> 
  </v1:ValidateResponse> 
</soapenv:Body> 
</soapenv:Envelope> 

the namespace is lost for Class and Type :

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> 
  <env:Header/> 
  <env:Body> 
     <BestilResponse xmlns="http://www.somenamespace.com/v1"> 
     <ErrorMessage> 
       <v11:SysId xmlns:v11="http://www.somenamespace.com/v11"/> 
       <v11:Class>The class</v11:Class> 
       <v11:Type>The type</v11:Type>
 
      </ErrorMessage> 
      </BestilResponse> 
  </env:Body> 
</env:Envelope> 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms