Author |
Message
|
akidase |
Posted: Mon Jul 09, 2012 2:48 am Post subject: Error Deploying MessageSet |
|
|
Centurion
Joined: 10 Jan 2011 Posts: 124
|
BIP5029E: Error 'cos-nonambig: WC["http://schemas.xmlsoap.org/soap/envelope/","http://newQuoteNumber.service.somedomain.com"] and "http://schemas.xmlsoap.org/soap/envelope/":Fault (or elements from their substitution group) violate "Unique Particle Attribution". During validation against this schema, ambiguity would be created for those two particles.' was encountered at line '25' while preprocessing XML Schema file 'org/xmlsoap/schemas/soap/envelope/soapenv11.xsd' in message set 'Service_NewQuoteGeneration_MS'
The XMLNSC parser is preprocessing the XML Schemas for the message set and it has encountered an error.
Check that the XML Schemas in the message set are valid.
I am unable to interpret this message. Could someone help me please? |
|
Back to top |
|
 |
kimbert |
Posted: Mon Jul 09, 2012 4:04 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Yes - it is a difficult one to understand. Here's an attempt at a plain English version.
You have an xs:any in your XML Schema.
The xs:any is nested inside an xs:sequence.
Later on in that same xs:sequence there is an element 'soap:fault'.
If your input XML contains the tag <soap:fault> then it could match either the xs:any or the soap:fault element declaration.
Your model may not be exactly like that, but it will be something similar.
To put in more succinctly, your xsd is ambiguous. XMLSpy (along with some other XML tools) does not check this rule, but it is a valid rule - the XML Schema specification does not allow ambiguous schemas. Message broker is correct in rejecting the xsd.
You can fix it by altering your xsd so that a <soap:fault> tag can only match exactly one item in your xsd. Advice can be given, if you post a few more details about your xsd. |
|
Back to top |
|
 |
akidase |
Posted: Mon Jul 09, 2012 4:15 am Post subject: |
|
|
Centurion
Joined: 10 Jan 2011 Posts: 124
|
I have elements in schema with
Code: |
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:intf="http://newQuoteNumber.service.services.company.com" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" targetNamespace="http://schemas.xmlsoap.org/soap/envelope/">
<!-- Envelope, header and body -->
<xs:import namespace="http://newQuoteNumber.service.services.company.com" schemaLocation="../../../../../com/company/services/service/newquotenumber/NewQuoteNumberService.mxsd"/>
<xs:import namespace="http://newQuoteNumber.service.services.company.com" schemaLocation="../../../../../com/company/services/service/newquotenumber/NewQuoteNumberService_InlineSchema1.mxsd"/>
<xs:element name="Envelope" type="soapenv:Envelope">
<xs:annotation>
<xs:appinfo source="WMQI_APPINFO">
<MRMessage messageDefinition="/0/Envelope;XSDElementDeclaration$MRObject"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:complexType name="Envelope">
<xs:sequence>
<xs:element minOccurs="0" ref="soapenv:Header"/>
<xs:element minOccurs="1" ref="soapenv:Body"/>
</xs:sequence>
<xs:attribute ref="soapenv:encodingStyle"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
<xs:element name="Header" type="soapenv:Header"/>
<xs:complexType name="Header">
<xs:choice maxOccurs="1" minOccurs="0">
<xs:element ref="soapenv:Fault"/>
<xs:sequence maxOccurs="unbounded">
<xs:choice>
<xs:annotation>
<xs:appinfo source="WMQI_APPINFO">
<MRLocalGroup composition="message"/>
</xs:appinfo>
</xs:annotation>
</xs:choice>
</xs:sequence>
</xs:choice>
</xs:complexType>
<xs:element name="Body" type="soapenv:Body"/>
<xs:complexType name="Body">
<xs:choice maxOccurs="1" minOccurs="1">
<xs:sequence maxOccurs="unbounded">
<xs:choice>
<xs:annotation>
<xs:appinfo source="WMQI_APPINFO">
<MRLocalGroup composition="message" content="openDefined"/>
</xs:appinfo>
</xs:annotation>
</xs:choice>
</xs:sequence>
<xs:element ref="soapenv:Fault"/>
</xs:choice>
</xs:complexType>
<!-- Global Attributes. The following attributes are intended to be usable via qualified attribute names on any complex type referencing them. -->
<xs:attribute name="mustUnderstand">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="0|1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="actor" type="xs:anyURI"/>
<xs:attribute name="encodingStyle" type="xs:anyURI"/>
<xs:attributeGroup name="encodingStyle">
<xs:attribute ref="soapenv:encodingStyle"/>
</xs:attributeGroup>
<xs:element name="Fault" type="soapenv:Fault">
<xs:annotation>
<xs:appinfo source="WMQI_APPINFO">
<MRMessage messageDefinition="/0/Fault;XSDElementDeclaration=3$MRObject"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:complexType final="extension" name="Fault">
<xs:annotation>
<xs:documentation>
Fault reporting structure
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="faultcode" type="xs:QName"/>
<xs:element name="faultstring" type="xs:string"/>
<xs:element minOccurs="0" name="faultactor" type="xs:anyURI"/>
<xs:element minOccurs="0" name="detail" type="soapenv:detail"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="detail">
<xs:sequence minOccurs="0">
<xs:choice>
<xs:annotation>
<xs:appinfo source="WMQI_APPINFO">
<MRLocalGroup composition="message" content="openDefined"/>
</xs:appinfo>
</xs:annotation>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:schema>
|
|
|
Back to top |
|
 |
kimbert |
Posted: Mon Jul 09, 2012 5:23 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Can I ask exactly how you created your message set? |
|
Back to top |
|
 |
akidase |
Posted: Mon Jul 09, 2012 5:45 am Post subject: |
|
|
Centurion
Joined: 10 Jan 2011 Posts: 124
|
Kimbert, I have pasted the mxsd. I do not have the xsd now. |
|
Back to top |
|
 |
kimbert |
Posted: Mon Jul 09, 2012 6:21 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Quote: |
Kimbert, I have pasted the mxsd. I do not have the xsd now. |
I know. I'm asking a different question. How did you create this message set? The definitions in your mxsd look very much like the ones in the IBM-supplied message definition for SOAP. So how *exactly* did you create your message set? |
|
Back to top |
|
 |
akidase |
Posted: Mon Jul 09, 2012 7:19 am Post subject: |
|
|
Centurion
Joined: 10 Jan 2011 Posts: 124
|
Actually we didn't create it. It was part of the code already given to us. |
|
Back to top |
|
 |
kimbert |
Posted: Mon Jul 09, 2012 8:01 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
I was assuming that you were developing a new message set, and having trouble with deploying it. That's obviously not correct. So, please explain
- which version of WMB you are using
- when the message set was first created
- how you came into possession of this message set
- has this message set ever deployed successfully?
...and any other information that might help. |
|
Back to top |
|
 |
akidase |
Posted: Wed Jul 11, 2012 3:15 am Post subject: |
|
|
Centurion
Joined: 10 Jan 2011 Posts: 124
|
Quote: |
- which version of WMB you are using |
6.1
Quote: |
- when the message set was first created |
Before migration to 6.0
Quote: |
- how you came into possession of this message set |
Imported from 6.0 Workspace
Quote: |
- has this message set ever deployed successfully? |
In 6.0, yes and working successfully. |
|
Back to top |
|
 |
lancelotlinc |
Posted: Wed Jul 11, 2012 5:04 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
akidase wrote: |
Quote: |
- which version of WMB you are using |
6.1
Quote: |
- when the message set was first created |
Before migration to 6.0
Quote: |
- how you came into possession of this message set |
Imported from 6.0 Workspace
Quote: |
- has this message set ever deployed successfully? |
In 6.0, yes and working successfully. |
6.1 will be end of life soon. Why are you migrating to 6.1? Why not 7 or 8 ? _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
akidase |
Posted: Wed Jul 11, 2012 5:07 am Post subject: |
|
|
Centurion
Joined: 10 Jan 2011 Posts: 124
|
Quote: |
Why are you migrating to 6.1? Why not 7 or 8 ? |
Client.
Could you tell me the time when this would be off support !? |
|
Back to top |
|
 |
lancelotlinc |
Posted: Wed Jul 11, 2012 5:12 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
|
Back to top |
|
 |
kimbert |
Posted: Wed Jul 11, 2012 5:54 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Thank you. You could have saved some time ( mine and yours ) by giving this information at the start. Please note that v6.1 a very old version - you should be planning to upgrade to v8, or at least v7.
If the message set was created before v6.0 then it cannot have been using the XMLNSC parser. XMLNSC was introduced in v6.0. and then significantly enhanced in v6.1. I hate to say it, but the best way to avoid this error ( on your very old version of WMB, using a flow that was created for v5.0 ) is to continue to use the MRM parser.
Or, rewrite your message flow to use the SOAPInput node. I think that is available in v6.1. |
|
Back to top |
|
 |
lancelotlinc |
Posted: Wed Jul 11, 2012 6:02 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
kimbert wrote: |
Or, rewrite your message flow to use the SOAPInput node. I think that is available in v6.1. |
7.0.0.2 is required to get the full and complete SOAPInput node functionality. For example, enableQueryWSDL in not available in 7.0.0.1. _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
Vitor |
Posted: Wed Jul 11, 2012 6:25 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
lancelotlinc wrote: |
7.0.0.2 is required to get the full and complete SOAPInput node functionality. For example, enableQueryWSDL in not available in 7.0.0.1. |
But they can't possibly be using that functionality currently. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
|