Hi Simon,
Yes this is a known problem, although I don't think there's a bugzilla open
for it. I guess WSIF isn't closing its queues properly. The
WSIFJMSDestination is cached inside the WSIFPort (for soap, axis and native
jms), and the WSIFJMSDestination is where the Queue handles are stored.
Assuming that the WSIFJMSDestination is being reused correctly, WSIF should
keep reusing the same queue handle for the request queue. So the problem is
more likely to be in one of the WSIFJMSDestination.setReplyToQueue methods.
When using a temporary replyTo queue, there should only be one temporary
replyTo queue that is reused for every request. The queue handle for a
permanent replyTo queue should be reused if the permanent replyTo queue
isn't changed. However the setReplyToQueue methods don't close the queue
properly when changing replyTo queues, so that may be the problem; but the
problem was found previously using a single permanent replyTo queue.
Are you using temporary or permanent replyTo queues?
Thanks
Mark
Mark Whitlock, IBM Hursley Web Services

----- Forwarded by Mark Whitlock/UK/IBM on 31/03/03 09:55 -----
                                                                                       
                                                
                      "Simon Solomon"                                                  
                                                
                      <[EMAIL PROTECTED]>         To:       [EMAIL PROTECTED]          
                                             
                                               cc:                                     
                                                
                      28/03/03 21:08           Subject:  Soap Over JMS                 
                                                
                      Please respond to                                                
                                                
                      wsif-user                                                        
                                                
                                                                                       
                                                
                                                                                       
                                                







Hi,

I am successfully using WSIF to execute SOAP over JMS.
However, when I use the same WSIFPort object to execute numerous
consecutive "wsifOperation.executeInputOnlyOperation"
method calls, I get the following exception

WSIF Jms support caught 'javax.jms.ResourceAllocationException: MQJMS2008:
failed to open MQ queue'

This happens when the execution count exceeds the "Maximum Open Handles"
settings in IBM
MQ Series.

Is there any way to get around this with out increasing the "Maximum Open
Handles" setting?

Configuration Information:
WSIF 2.0 Nightly build 3/21/03
IBM MQ Series 5.3 on WIN 2K
Soap Provider: WSIFDynamicProvider_ApacheAxis

Binding and Port Portion in WSDL:
<binding name='XTCP211JMS_SOAPServiceBinding' type
='tns:XTCP211JMS_PortType'>
  <soap:binding style='document' transport
='http://schemas.xmlsoap.org/soap/jms' />
  <operation name='Execute'>
   <soap:operation soapAction='http://soap.fsg.com/fedgate/RPC/XTCP211JMS'
style='document' />
   <input>
    <soap:body use='literal' namespace
='http://www.fds.com/schemas/XTCP211JMS' />
   </input>
  </operation>
 </binding>
 <service name='XTCP211JMS_Service'>
  <port name='XTCP211JMS_SOAPServicePort' binding
='tns:XTCP211JMS_SOAPServiceBinding'>
          <jms:address destinationStyle="queue"
              jndiDestinationName="MPSI_TEST_2"
              jndiConnectionFactoryName="MpsiConnectionFactory"
                    initialContextFactory
="com.sun.jndi.fscontext.RefFSContextFactory"
                 jndiProviderURL="file://C:/JNDIDirectory/mpsi">
          </jms:address>
  </port>
 </service>

Thanks

Simon Solomon
[EMAIL PROTECTED]




Reply via email to