Title: Mailroom template

I try to read the samples/jms/ServiceAvailability.wsdl file that is included in the wsif 2.0 package.

 

My code looks like

 

Definition wsdlDefinition = WSIFUtils.readWSDL(null,WSDLFileURI);

QName qName = new QName(wsdlDefinition.getTargetNamespace(),"CheckServiceAvailability");

Service wsdlService = wsdlDefinition.getService(qName);

System.out.println(wsdlService);

 

The output of this code reports all jms related extension elements as

UnknownExtensibilityElement, even though I use the WSIFUtil.readWSDL() method.

 

I have realized that PrivateCompositeExtensionRegistry constructor only

adds JAVA, EJB and Format Serializers to the ExtensionRegistry.

 

Why is JMS left out?

 

If I manually add the JMS Serializers by calling the following

 

ExtensionRegistry reg = WSIFUtils.getExtensionRegistry();

PopulatedExtensionRegistry per = new PopulatedExtensionRegistry();

JMSBindingSerializer jmsSer = new JMSBindingSerializer();

jmsSer.registerSerializer(per);

 

JMSAddressSerializer jmsAddr = new JMSAddressSerializer();

jmsAddr.registerSerializer(per);

 

JMSFaultIndicatorSerializer jmsFIS = new JMSFaultIndicatorSerializer();

jmsFIS.registerSerializer(per);

                 

JMSFaultPropertySerializer jmsFPS = new JMSFaultPropertySerializer();

jmsFPS.registerSerializer(per);

                 

JMSFaultSerializer jmsFS = new JMSFaultSerializer();

jmsFS.registerSerializer(per);

                 

JMSInputSerializer jmsIS = new JMSInputSerializer();

jmsIS.registerSerializer(per);

                 

JMSOperationSerializer jmsOS = new JMSOperationSerializer();

jmsOS.registerSerializer(per);

                 

JMSOutputSerializer jmsOPS = new JMSOutputSerializer();

jmsOPS.registerSerializer(per);

                 

JMSPropertyValueSerializer jmsPVS = new JMSPropertyValueSerializer();

jmsPVS.registerSerializer(per);

                 

JMSPropertySerializer jmsPS = new JMSPropertySerializer();

jmsPS.registerSerializer(per);

                 

WSIFServiceImpl.addExtensionRegistry(per);

 

Before I read the WSDL everything works fine.

 

Do I have to register JMS extensions myself like above?  If so is there an easier way to do it?

 

Thanks,

 

-Dogan Atay

Reply via email to