ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » SOAPInput node with Apache Server

Post new topic  Reply to topic Goto page 1, 2  Next
 SOAPInput node with Apache Server « View previous topic :: View next topic » 
Author Message
deecee
PostPosted: Tue Sep 06, 2016 6:29 am    Post subject: SOAPInput node with Apache Server Reply with quote

Acolyte

Joined: 11 Sep 2014
Posts: 51

Hi,

I am using IIB 10.0.0.1
I have a simple test flow,
soapinput node -> soapreply node

I am using SOAPInput node in the 'operate in gateway mode', i.e. without a WSDL.
I have enabled broker wide listeners for the SOAP nodes.
I have deployed the flow and can test it on my local broker with the new default port.
But when I try to test it using the Apache Server, I get the below error

Code:
A Java exception was thrown whilst calling the Java JNI method ''TomcatNodeRegistrationUtil_getDataFromHTTP''. The Java exception was ''java.lang.StringIndexOutOfBoundsException''. The Java stack trace was ''Frame : 0 java.lang.StringIndexOutOfBoundsException: null
                                          @: java.lang.String.substring(String.java:1256)
                                          @: com.ibm.broker.inlinehttp.tomcatthreadpool.BrokerListenerInstanceManager.getWorkInProgress(Unknown Source)
                                          @: com.ibm.broker.axis2.TomcatNodeRegistered.getWorkInProgress(Unknown Source)
                                          @: com.ibm.broker.axis2.TomcatNodeRegistrationUtil.getDataFromHTTP(Unknown Source)
                                       ''.


Can anyone help.
Back to top
View user's profile Send private message
vishBroker
PostPosted: Tue Sep 06, 2016 10:48 am    Post subject: Reply with quote

Centurion

Joined: 08 Dec 2010
Posts: 135

StringIndexOutOfBound error suggests - there COULD be some issue with the URL being used.

what are the URLs you are using - are they same. (I hope them to be).
Can you check the URI httpConnector is listening on by running mqsireportproperties command.
Back to top
View user's profile Send private message
vishBroker
PostPosted: Tue Sep 06, 2016 10:57 am    Post subject: Reply with quote

Centurion

Joined: 08 Dec 2010
Posts: 135

And - the request? Is it same?
ArrayOutOfBound could be because of wrong input as well.
Back to top
View user's profile Send private message
deecee
PostPosted: Wed Sep 07, 2016 12:01 am    Post subject: Reply with quote

Acolyte

Joined: 11 Sep 2014
Posts: 51

Hi,

I am using the same URI's
it's /proxyservlet

The message is same too, it works when hit directly. Only gives this error when I try through Apache.

I have tried the same with HTTP nodes, and it works right.

How do I check the URI, these are properties for my HTTPConnector

Quote:
HTTPConnector
uuid='HTTPConnector'
address=''
port='7080'
maxPostSize=''
acceptCount=''
compressableMimeTypes=''
compression=''
connectionLinger=''
connectionTimeout=''
maxHttpHeaderSize=''
maxKeepAliveRequests='0'
maxThreads=''
minSpareThreads=''
noCompressionUserAgents=''
restrictedUserAgents=''
socketBuffer=''
tcpNoDelay='true'
enableLookups='false'
serverName=''
corsEnabled='false'
corsAllowOrigins='*'
corsAllowCredentials='false'
corsExposeHeaders='Content-Type'
corsMaxAge='-1'
corsAllowMethods='GET,HEAD,POST,PUT,PATCH,DELETE,OPTIONS'
corsAllowHeaders='Accept,Accept-Language,Content-Language,Content-Type'
Back to top
View user's profile Send private message
mqjeff
PostPosted: Wed Sep 07, 2016 3:43 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Check the URL that Apache is building, or sending to IIB.

Check the configuration of Apache. You have determined that your IIB configuration is correct, because you can use the URL from a browser.

You need to troubleshoot your Apache configuration. Look at any debug/tracing that Apache uses. Also look for the instructions in the IIB KC about using an external HTTP server.
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
deecee
PostPosted: Fri Sep 09, 2016 5:43 am    Post subject: Reply with quote

Acolyte

Joined: 11 Sep 2014
Posts: 51

I checked the apache logs, and this is what it says,

Quote:
20160909133608.896 38 } BrokerConnection findEntryThatMatchesOurURL
20160909133608.896 38 WBIMBServlet processPost Testing reply queue existence
20160909133608.897 38 WBIMBServlet processPost Sending data to DFE length=5719
20160909133608.898 38 WBIMBServlet putMQMessageToQueue trying to put message
20160909133608.899 38 WBIMBServlet putMQMessageToQueue put message successfully
20160909133608.899 38 WBIMBServlet processPost waiting for reply from DFE
20160909133612.542 37 WBIMBServlet processPost Exception uncaught mqe.toString()=com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2033'.
20160909133612.542 37 WBIMBServlet processPost Timeout on MQGET - generating SOAP Fault message statusCode=504
20160909133612.543 37 WBIMBServlet processPost Returning connection to the pool
20160909133612.543 37 BrokerConnectionPool putBrokerConnection Releasing connection (updating last-used time)


I see that the 180 timeout is to set in SOAPinput, and that I have increased.
I have also disabled firewalls.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri Sep 09, 2016 5:55 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

... If you're using Apache Server, you should be looking at
http://www.ibm.com/support/knowledgecenter/SSMKHH_9.0.0/com.ibm.etools.mft.doc/be55180_.htm

instead of
http://www.ibm.com/support/knowledgecenter/SSMKHH_9.0.0/com.ibm.etools.mft.doc/ac69300_.htm

The timeout is caused by something not finding a message on an MQ Queue - MQRC 2033... This doesn't have anything to do with the timout on your SOAP flow. It has, probably, to do with how long your SOAP flow takes to finish.
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
deecee
PostPosted: Fri Sep 09, 2016 6:14 am    Post subject: Reply with quote

Acolyte

Joined: 11 Sep 2014
Posts: 51

Quote:
It has, probably, to do with how long your SOAP flow takes to finish.


The SOAP flow is only SOAPInput ->SOAPReply, and the error occurs at the very beginning of invoking this flow. The debugger doesn't even reach the first break-point.
Back to top
View user's profile Send private message
vishBroker
PostPosted: Fri Sep 09, 2016 6:23 am    Post subject: Reply with quote

Centurion

Joined: 08 Dec 2010
Posts: 135

deecee wrote:
Quote:
It has, probably, to do with how long your SOAP flow takes to finish.


The SOAP flow is only SOAPInput ->SOAPReply, and the error occurs at the very beginning of invoking this flow. The debugger doesn't even reach the first break-point.


Check the validations that you are doing on the input node.

If you are able to hit the flow successfully from browser/SOAPUI but not from the apache - I think, it has to do with the input.

have you made sure, the apache request reaches the flow?
A quick way is to have a dummy flow - just to rule out network issue.
Back to top
View user's profile Send private message
deecee
PostPosted: Fri Sep 09, 2016 6:31 am    Post subject: Reply with quote

Acolyte

Joined: 11 Sep 2014
Posts: 51

The SOAPInput has no validations, it is also running on gateway mode, hence no WSDL validations also.

I have run the same set-up for a flow = HTTPInput ->HttpReply and invoked it using apache. This works as expected.

Quote:
A quick way is to have a dummy flow - just to rule out network issue.


Can you explain what you mean by this?
Back to top
View user's profile Send private message
Vitor
PostPosted: Fri Sep 09, 2016 6:45 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

deecee wrote:
Quote:
It has, probably, to do with how long your SOAP flow takes to finish.


The SOAP flow is only SOAPInput ->SOAPReply, and the error occurs at the very beginning of invoking this flow. The debugger doesn't even reach the first break-point.


Don't the listeners use MQ internally for staging requests?
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri Sep 09, 2016 6:46 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Vitor wrote:
deecee wrote:
Quote:
It has, probably, to do with how long your SOAP flow takes to finish.


The SOAP flow is only SOAPInput ->SOAPReply, and the error occurs at the very beginning of invoking this flow. The debugger doesn't even reach the first break-point.


Don't the listeners use MQ internally for staging requests?


The bipListener does... the EG listeners don't.

Not sure what the Servlet uses - but again if it's Apache, you should be using the config option and not the servlet.
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
Vitor
PostPosted: Fri Sep 09, 2016 7:11 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

mqjeff wrote:
The bipListener does... the EG listeners don't.


deecee wrote:
I have enabled broker wide listeners for the SOAP nodes.

_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
deecee
PostPosted: Fri Sep 09, 2016 9:11 am    Post subject: Reply with quote

Acolyte

Joined: 11 Sep 2014
Posts: 51

Quote:
but again if it's Apache, you should be using the config option and not the servlet.


Is there a reason for this? Because the broker seems to have good amount of documentation to use the servlet for integrating with Apache.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri Sep 09, 2016 9:43 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

deecee wrote:
Quote:
but again if it's Apache, you should be using the config option and not the servlet.


Is there a reason for this? Because the broker seems to have good amount of documentation to use the servlet for integrating with Apache.


The servlet is a Java Servlet.. You have to run it in something that lets you run Java Servlets.

AFAIK, the plain Apache webserver doesn't let you run servlets.

The mod-proxy/etc is also lighter weight and faster.
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » SOAPInput node with Apache Server
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.