Hi, You added a wrong schema, your schema should like this <xs:element name="deliveryMode" type="soapjms:deliveryModeType" />
<xs:complexType name="deliveryModeType"> <xs:complexContent> <xs:extension base="wsdl:tExtensibilityElement"> <xs:sequence> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="PERSISTENT" /> <xs:enumeration value="NON_PERSISTENT" /> </xs:restriction> </xs:simpleType> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> Willem liucong wrote: > Hi, > I want to add wsdl extension for SOAP/JMS according to > http://www.w3.org/TR/2008/WD-soapjms-20081121/#wsdl-extensions. > > For example, I want add wsdl extension for DeliveryMode property. I > edit the wsdl file like[1]: > <wsdl:binding name="JMSGreeterPortBinding" > type="tns:JMSGreeterPortType"> > <soap:binding style="document" > transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/> > > <soapjms:deliveryMode>PERSISTENT</soapjms:deliveryMode> > > <wsdl:operation name="greetMe"> > <soap:operation soapAction="test" style="document"/> > <wsdl:input name="greetMeRequest"> > <soap:body use="literal"/> > </wsdl:input> > <wsdl:output name="greetMeResponse"> > <soap:body use="literal"/> > </wsdl:output> > </wsdl:operation> > ... > </wsdl:binding> > > If I add the extension schema like this[2]: > > <xs:element name="deliveryMode" type="soapjms:deliveryModeType" /> > > <xs:complexType name="deliveryModeType"> > <xs:complexContent> > <xs:extension base="wsdl:tExtensibilityElement"> > <xs:sequence> > <xs:element name="deliveryMode"> > <xs:simpleType> > <xs:restriction base="xs:string"> > <xs:enumeration value="PERSISTENT" /> > <xs:enumeration value="NON_PERSISTENT" /> > </xs:restriction> > </xs:simpleType> > </xs:element> > </xs:sequence> > </xs:extension> > </xs:complexContent> > </xs:complexType> > > But I can't get the extension in the wsdl. > If I change the wsdl like this[3]: > <wsdl:binding name="JMSGreeterPortBinding" > type="tns:JMSGreeterPortType"> > <soap:binding style="document" > transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/> > > > <soapjms:deliveryMode><soapjms:deliveryMode>PERSISTENT</soapjms:deliveryMode></soapjms:deliveryMode> > > <wsdl:operation name="greetMe"> > <soap:operation soapAction="test" style="document"/> > <wsdl:input name="greetMeRequest"> > <soap:body use="literal"/> > </wsdl:input> > <wsdl:output name="greetMeResponse"> > <soap:body use="literal"/> > </wsdl:output> > </wsdl:operation> > ... > </wsdl:binding> > > I'll get the result of deliveryMode extension. > I think the wsdl extension just can add attributes, element to a > extension element in CXF. But I can't get the extension element's value. > Is it right? > > My question is: how to get the extension information in [1]. What > does the extension schema look like? > > thanks. > Liu >