When upgrading OSB projects from version 10.3.1 to 11.1.1.4 the OEPE plugin shows the following error message in a JMS transport based business service.
Expected elements: unit-of-order@http://www.bea.com/wli/sb/transports/jms pass-caller-subject@http://www.bea.com/wli/sb/transports/jms response-properties@http://www.bea.com/wli/sb/transports/jms instead of: response-required@http://www.bea.com/wli/sb/transports/jms here in element outbound-properties@http://www.bea.com/wli/sb/transports/jms
The reason is a difference in the internal OSB JmsTransport.xsd schema definition for “http://www.bea.com/wli/sb/transports/jms” in both OSB version.
Oracle Service Bus 10.3.1 = /%WLHOME%/osb_10.3/lib/sb-schemas.jar
<xs:choice> <xs:element name="outbound-properties" type="JmsOutboundPropertiesType"/> <xs:element name="inbound-properties" type="JmsInboundPropertiesType"/> </xs:choice> ..... <xs:complexType name="JmsOutboundPropertiesType"> <xs:sequence> <!-- type of outbound message: One of: Text or Bytes --> <xs:element name="message-type" type="JmsMessageTypeEnum"/> <!-- outbound JMS message time-to-live, in seconds --> <xs:element name="expiration" type="xs:int" minOccurs="0"/> <!-- Represents JMS message delivery mode. If it is enabled it will be set as persistent else it will be set as non-persistent --> <xs:element name="enable-message-persistence" type="xs:boolean" minOccurs="0"/> <!-- whether or not this endpoint needs to wait for response to be published to specified destination --> <xs:element name="response-required" type="xs:boolean" minOccurs="0"/> <!-- response destination, only applicable if response-required is true --> <xs:element name="response-URI" type="xs:string" minOccurs="0"/> <!-- how long to wait for response to be published, in seconds, only applicable if response-required is true --> <xs:element name="response-timeout" type="xs:int" minOccurs="0"/> <!-- JMS unit-of-order value, for ordered message delivery, only applicable to JMS destinations hosted on BEA WLS 9.0 for more details, see http://e-docs.bea.com/wls/docs90/jms/uoo.html --> <xs:element name="unit-of-order" type="xs:string" minOccurs="0"/> <!-- response correlation pattern. JMSCorrelationID represents the legacy ALSB way, JMSMessageID is useful for jax-rpc and other JMS interop use cases. --> <xs:element name="response-pattern" type="JmsResponsePatternEnum" minOccurs="0"/> <!-- response connection factory, only applicable if response-required is true and JMSMessageID pattern is used --> <xs:element name="response-CF" type="xs:string" minOccurs="0"/> <!-- map of targets to response queues --> <xs:element name="response-target-map" type="JmsDestinationMap" minOccurs="0"/> <!-- whether to pass the callers subject or not --> <xs:element name="pass-caller-subject" type="xs:boolean" minOccurs="0"/> </xs:sequence> </xs:complexType>
Oracle Service Bus 11.1.14 = /%WLHOME%/Oracle_OSB1/lib/sb-schemas.jar
<xs:complexType name="JmsOutboundPropertiesType"> <xs:sequence> <!-- type of outbound message: One of: Text or Bytes --> <xs:element name="message-type" type="JmsMessageTypeEnum" minOccurs="0"/> <!-- outbound JMS message time-to-live, in seconds --> <xs:element name="expiration" type="xs:int" minOccurs="0"/> <!-- Represents JMS message delivery mode. If it is enabled it will be set as persistent else it will be set as non-persistent --> <xs:element name="enable-message-persistence" type="xs:boolean" minOccurs="0"/> <!-- JMS unit-of-order value, for ordered message delivery, only applicable to JMS destinations hosted on BEA WLS 9.0 for more details, see http://e-docs.bea.com/wls/docs90/jms/uoo.html --> <xs:element name="unit-of-order" type="xs:string" minOccurs="0"/> <!-- whether to pass the callers subject or not --> <xs:element name="pass-caller-subject" type="xs:boolean" minOccurs="0"/> <!-- Response related properties, if there is no response required then this element does not exist. --> <xs:element name="response-properties" type="JmsOutboundResponsePropertiesType" minOccurs="0"/> </xs:sequence> </xs:complexType>
As you can see that multiple elements, amongst them the response-required element, have disappeared in the JmsOutboundPropertiesType. Editing the Business Service file manual, or even better use OEPE to change the configuration of your business service to trigger OEPE to regenerate a valid XML structure.