|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
MQ as Transport for SOAP - problem with RUNIVT.cmd |
« View previous topic :: View next topic » |
Author |
Message
|
sebastia |
Posted: Sat Dec 27, 2014 1:56 am Post subject: MQ as Transport for SOAP - problem with RUNIVT.cmd |
|
|
 Grand Master
Joined: 07 Oct 2004 Posts: 1003
|
Good morning, coleagues - and Merry Xmas to all of you !
Customer asked to install and run MQ as transport for SOAP.
OpSys is Windows 7 and MQ is v 7.5.0.1 - then we have Visual Studio 13, and Java is
Code: |
C:\temp\mq>java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode) |
All is OK if we run runivt AxisWsdl - answer is "3 tests run, of which 0 failed"
But when we run all tests, this is "runivt" without paramaters, then the step "amqwdeployWMQService.cmd" fails.
Same error comes if we run runivt DOTNET - same fail.
See output below.
And also, we have an entry in Widows Event Log, and also few lines in c:\mq\errors\AMQERR01.LOG (no FDC files, yet)
Any ideas ?
Sebastian.
(a) Here are the mq error log lines :
Code: |
==============================
----- MQWSDL.Main : 0 ---------------------------------------------------------
27/12/2014 10:32:49 - Process(2516.1) User(sp10304) Program(amqswsdl.exe)
Host(YIP250RH) Installation(InstallationSAG)
VRMF(7.5.0.1)
AMQ9920: A SOAP Exception has been thrown.
EXPLANATION:
A SOAP method encountered a problem and has thrown an exception.
Details of the exception are:
'System.IO.FileNotFoundException:
Could not load file or assembly
'amqswsdl, Version=7.5.0.1, Culture=neutral, PublicKeyToken=c64a1a75b5c110e8'
or one of its dependencies.
The system cannot find the file specified.
File name:
'amqswsdl, Version=7.5.0.1, Culture=neutral, PublicKeyToken=c64a1a75b5c110e8'
---> System.IO.FileNotFoundException:
Could not load file or assembly
'amqswsdl, Version=7.5.0.1, Culture=neutral, PublicKeyToken=c64a1a75b5c110e8'
or one of its dependencies.
The system cannot find the file specified.
File name:
'amqswsdl, Version=7.5.0.1, Culture=neutral, PublicKeyToken=c64a1a75b5c110e8'
WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value
[HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value
[HKLM\Software\Microsoft\Fusion!EnableLog]. at
System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase,
Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark,
Boolean throwOnFileNotFound, Boolean forIntrospection) at
System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence
assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) at
System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence
assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) at
System.Reflection.Assembly.Load(String assemblyString) at
System.UnitySerializationHolder.GetRealObject(StreamingContext context) at
System.Web.Hosting.HostingEnvironment.CreateInstance(Type type) at
System.Web.Hosting.ApplicationHost.CreateApplicationHost(Type hostType, String
virtualDir, String physicalDir) at MQWSDL.Main(String[] args) '
ACTION:
Investigate why the SOAP method threw the exception.
----- MQWSDL.Main : 0 ---------------------------------------------------------
============================== |
I see it is trying to say "file not found", but it is not clear to me the name of the file. Not a file of mine, anyway.
Tried SysInternals "ProcMon.exe" (old FileMon.exe) without success.
And the log entry seems to be overrriden from 2 or more threads, isn't it ?
(b) runivt ouput :
===
Code: |
C:\temp\mq> c:\MQ\tools\soap\Samples\runivt.cmd
---------------------------------------------------------
WebSphere MQ Transport for SOAP Install Verification Test
---------------------------------------------------------
NB. If failures occur run SOAPCleanup.cmd before
re-running the test
Checking the environment (both)
> ------------------------------------------- Successful (WMQSOAP_HOME)
.
Checking and configuring the .NET environment
> ------------------------------------------- Successful (CSC)
> ------------------------------------------- Successful (WSDL)
.
Checking and configuring the Java environment
> ------------------------------------------- Successful (JAVA)
> ------------------------------------------- Successful (JAVAC)
+++ Fem "c:\MQ\bin\amqwsetcp.cmd"
> ------------------------------------------- Successful (AMQWSETCP)
.
Setting up the Queue Manager and req/resp queues (setupWMQSOAP.cmd
CRTMQM WMQSOAP.DEMO.QM
STRMQM WMQSOAP.DEMO.QM
RUNMQLSR WMQSOAP.DEMO.QM 9414
+++ define few objects
--- define few objects
> ------------------------------------------- Successful (SETUPWMQSOAP)
.
Deploying the .NET service (copy)
Deploying the .NET service (amqwdeployWMQServic e)
+++ Fem amqwdeployWMQService.cmd
RunCommand: Command = amqswsdl jms:/queue?destination=SOAPN.demos@WMQSOAP.DEMO.QM&connectionFactory=(connectQueueManager(WMQSO
AP.DEMO.QM))&initialContextFactory=com.ibm.mq.jms.Nojndi&targetService=StockQuoteDotNet.asmx&replyDestination=SYSTEM.S
OAP.RESPONSE.QUEUE StockQuoteDotNet.asmx generated\StockQuoteDotNet_Wmq.wsdl5724-H72 (C) Copyright IBM Corp. 1994, 2011. ALL RIGHTS RESERVED.
Failure in building WSDL
ERROR
The .NET service failed to deploy. See runivt.log for details, located in
the current directory.
Run the SOAPCleanup.cmd before re-running. |
The file "runivt.log" has nothing related to the Exception :
Code: |
... there are lines related to creation of MQ objects, being the last ones ...
1 : alter qmgr CHLAUTH(DISABLED)
AMQ8005: WebSphere MQ queue manager changed.
One MQSC command read.
No commands have a syntax error.
All valid MQSC commands were processed.
1 file(s) copied.
|
|
|
Back to top |
|
 |
fjb_saper |
Posted: Sat Dec 27, 2014 12:30 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Did you run SOAPCleanup.cmd as suggested?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
sebastia |
Posted: Sat Dec 27, 2014 11:20 pm Post subject: |
|
|
 Grand Master
Joined: 07 Oct 2004 Posts: 1003
|
Yes, mr fjb_saper - again and again.
One more time (see below, both "clean" + "test")
Just one question more : what do you think of the contents of AMQERR01.LOG entry ?
Dont you think there are 2 or 3 threads trying to write simultaneously ?
Sebastian.
Code: |
C:\temp\mq> c:\MQ\tools\soap\Samples\SOAPCleanup.cmd
WebSphere MQ Transport for SOAP environment clean up
Ending any MQ Listeners
A WebSphere MQ listener will end shortly.
Ending the Queue Manager
WebSphere MQ queue manager 'WMQSOAP.DEMO.QM' ending.
WebSphere MQ queue manager 'WMQSOAP.DEMO.QM' ended.
Removing the queue manager from the system
WebSphere MQ queue manager 'WMQSOAP.DEMO.QM' deleted.
Removing any directories generated from pervious sample runs
The system cannot find the file specified.
Removing any files generated from pervious sample runs
C:\temp\mq>c:\MQ\tools\soap\Samples\runivt DOTNET
---------------------------------------------------------
WebSphere MQ Transport for SOAP Install Verification Test
---------------------------------------------------------
NB. If failures occur run SOAPCleanup.cmd before re-running the test
[dotnet] Checking the environment
> --------------------------------------- Successful
[dotnet] Checking and configuring the .NET environment [CSC]
[dotnet] Checking and configuring the .NET environment [WSDL]
> --------------------------------------- Successful
[dotnet] Checking and configuring the Java environment
[dotnet] Checking and configuring the JavaC environment
[dotnet] amqwsetcp.cmd
> --------------------------------------- Successful
[dotnet] Setting up the Queue Manager and req/resp queues [setupWMQSOAP.cmd]
CRTMQM WMQSOAP.DEMO.QM
STRMQM WMQSOAP.DEMO.QM
RUNMQLSR WMQSOAP.DEMO.QM 9414
+++ define few objects
--- define few objects
> --------------------------------------- Successful
[dotnet] Deploying the .NET service [amqwdeployWMQService]
+++ Fem amqwdeployWMQService.cmd
RunCommand: Command = amqswsdl jms:/queue?destination=SOAPN.demos@WMQSOAP.DEMO.QM&connectionFactory=(connectQueueManager(WMQSO
AP.DEMO.QM))&initialContextFactory=com.ibm.mq.jms.Nojndi&targetService=StockQuoteDotNet.asmx&replyDestination=SYSTEM.S
OAP.RESPONSE.QUEUE StockQuoteDotNet.asmx generated\StockQuoteDotNet_Wmq.wsdl5724-H72 (C) Copyright IBM Corp. 1994, 2011. ALL RIGH
TS RESERVED.
Failure in building WSDL
ERROR
The .NET service failed to deploy. See
runivt.log for details, located in
the current directory.
Run the SOAPCleanup.cmd before re-running.
C:\temp\mq> |
|
|
Back to top |
|
 |
fjb_saper |
Posted: Sun Dec 28, 2014 6:52 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Well I was trying to run the IVT sample and more specifically the PSIVTRun.bat in V8 and that one failed on me because there was no default qmgr... with qmgr not available...(2059), and this after I executed the command manually (there was apparently a problem with default definition of the java.library.path ...)
Trying to run the SOAP ivt, I fail on .NET environment (no visual studio so no CIC). The log file contains following:
'csc' is not recognized as an internal or external command, operable program or batch file.
I see that your output makes mention of a specific log file location. Did you look there and verify?
Your best bet is going to be to trouble shoot the commands one by one and see exactly where it is going wrong and why...
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
sebastia |
Posted: Sun Dec 28, 2014 7:52 am Post subject: |
|
|
 Grand Master
Joined: 07 Oct 2004 Posts: 1003
|
If you've run "runivt.cmd", then you'd know the step-by-step messages have been improved in my list - I have mine with lots more of info and detail.
If "csc.exe" is missing, it means you dont have Visual Studio, which I do have (version 12 in fact).
It's ok if you cant help me with SOAP installation or configuration.
But what about the message in AMQERR01.LOG ?
How is it it does not provide me the name of the missing file ?
How is it there are phrases intermixed without straight meaning ?
Next week I shall do the same in another MQ installation.
Hope ".net" does not give more trouble.
By the way : i have the sample running, in a "pure AXIS" envir.
Request enters the MQ queue, server code is awoken, response msg generated (even quite short to tell the truth) and finally displayed by requester code.
Still learning how the assembly works.
Still few questions floating.
Still a good forum to talk to good professional colleagues.
Enjoy !
Sebastian. |
|
Back to top |
|
 |
bruce2359 |
Posted: Sun Dec 28, 2014 8:12 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9470 Location: US: west coast, almost. Otherwise, enroute.
|
sebastia wrote: |
If "csc.exe" is missing, it means you dont have Visual Studio, ... |
Possibly.
Code: |
'csc' is not recognized as an internal or external command, operable program or batch file. |
This error is from the shell, and indicates that the shell cannot find csc in the execution PATH. The root cause may be that Visual Studio is not installed. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
sebastia |
Posted: Sun Dec 28, 2014 8:36 am Post subject: |
|
|
 Grand Master
Joined: 07 Oct 2004 Posts: 1003
|
Yes, that is what I am saying.
mr fjb_saper does not have VS installed, but I do :
Code: |
C:\temp\mq>csc
Microsoft (R) Visual C# Compiler version 12.0.21005.1
for C# 5
Copyright (C) Microsoft Corporation. All rights reserved.
warning CS2008: No source files specified
error CS1562: Outputs without source must have the /out option specified |
|
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Dec 29, 2014 6:18 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
sebastia wrote: |
But what about the message in AMQERR01.LOG ?
How is it it does not provide me the name of the missing file ?
How is it there are phrases intermixed without straight meaning ? |
Because as your output shows the error is to be found in the runivt.log file generated in the directory you ran the runivt command from... and not in AMQERR01.LOG...
What is the content of said log??
The content of runivt.log told me it could not find 'csc' which was to be expected as I do not have visual studio installed... On the screen I just had some dumb error message pointing me to runivt.log...
 _________________ MQ & Broker admin |
|
Back to top |
|
 |
sebastia |
Posted: Mon Dec 29, 2014 11:25 am Post subject: |
|
|
 Grand Master
Joined: 07 Oct 2004 Posts: 1003
|
yes, the message on screen is quite dumb : "did not succeed".
runivt.log - quite the same.
If you pass the compiler requirement, maybe you shall see my message.
In my situation, runivt.log has absolutely NOTHING.
Just the end of the previous operation,
which was to create the qmgr object, which ended OK.
But there is an entry in Windows 7 "event log" and exactly the same entry in MQ error log.
And it is about this entry that I am requesting your opinion.
Does it look right to you or not ?
a) the text is in-consistent - it looks to me 2 or 3 threads were trying to write into the log simultaneously and the text went ... overwritten in parts.
b) the name of the missing file is not clear enough
Any clues ? |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Dec 29, 2014 1:35 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Seems like something is failing around here:
Quote: |
RunCommand: Command = amqswsdl jms:/queue?destination=SOAPN.demos@WMQSOAP.DEMO.QM&connectionFactory=(connectQueueManager(WMQSO
AP.DEMO.QM))&initialContextFactory=com.ibm.mq.jms.Nojndi&targetService=StockQuoteDotNet.asmx&replyDestination=SYSTEM.S
OAP.RESPONSE.QUEUE StockQuoteDotNet.asmx generated\StockQuoteDotNet_Wmq.wsdl |
Did you check runivt.cmd and execute all commands manually? Does that last command really end with .....wsdl or is that an environment variable with something hanging off the back of it??
Execute each command manually and see where it fails. May be it is speed and delays need to be added to the command file...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
sebastia |
Posted: Mon Dec 29, 2014 11:08 pm Post subject: |
|
|
 Grand Master
Joined: 07 Oct 2004 Posts: 1003
|
thanks, mr fjb_saper : I am glad to hear we have had the same ideas.
I have been executing the lines in runivt.cmd manually and in sequence.
The line that fails and produces the entry into windows EventLog and also in amqerr01.log is (or better, should be)
Code: |
c:\mq\bin\amqwdeployWMQService -u "jms:/queue
?destination=SOAPN.demos@WMQSOAP.DEMO.QM
&connectionFactory=connectQueueManager(WMQSOAP.DEMO.QM)
&initialContextFactory=com.ibm.mq.jms.Nojndi"
-n 10 -f StockQuoteDotNet.asmx
|
But in my case, when I run it from "runivt.cmd" the line comes out as
Code: |
RunCommand: Command = amqswsdl jms:/queue?destination=SOAPN.demos@WMQSOAP.DEMO.QM
&connectionFactory=(connectQueueManager(WMQSO
AP.DEMO.QM))
&initialContextFactory=com.ibm.mq.jms.Nojndi
&targetService=StockQuoteDotNet.asmx&replyDestination=SYSTEM.SOAP.RESPONSE.QUEUE StockQuoteDotNet.asmx generated\StockQuoteDotNet_Wmq.wsdl5724-H72 (C) Copyright IBM Corp. 1994, 2011. ALL RIGHTS RESERVED.
Failure in building WSDL
|
I mean, you are right : there is something "appended" at the end of the command - exactly "5724-H72 ... ALL RIGHTS RESERVED"
So now the question is : how did this line became corrupted ?
The source line in "runivt.cmd" is
Code: |
echo [dotnet] Deploying the .NET service [amqwdeployWMQService]
echo [dotnet] [a] copy
copy "%WMQSOAP_HOME%\Tools\soap\samples\dotnet\StockQuoteDotNet.asmx" . >>runivt.log 2>&1
echo [dotnet] [b] deploy
call "%WMQSOAP_HOME%\bin\amqwdeployWMQService" -u "jms:/queue?destination=SOAPN.demos@WMQSOAP.DEMO.QM&connectionFactory=connectQueueManager(WMQSOAP.DEMO.QM)&initialContextFactory=com.ibm.mq.jms.Nojndi" -n 10 -f StockQuoteDotNet.asmx
if ERRORLEVEL 1 goto :DNdeployfail |
The envir "%WMQSOAP_HOME%" is a correct "c:\mq"
Step [a] ends ok, of course, it is just a copy.
If I look into the command we try to run, it is just this:
Code: |
@echo off
echo +++ Fem amqwdeployWMQService.cmd
java -Dwmqsoap.home=. com.ibm.mq.soap.util.DeployWMQService %*
if NOT %errorlevel% == 0 exit /b 1
exit /b 0 |
Within this file, the display (echo) of parameters (%*) shows ok:
Code: |
params -u "jms:/queue?destination=SOAPN.demos@WMQSOAP.DEMO.QM&connectionFactory=connectQueueManager(WMQSOAP.DEMO.QM)&initialContext
Factory=com.ibm.mq.jms.Nojndi" -n 10 -f StockQuoteDotNet.asmx |
It starts at "-u" and ends up with ".asmx"
What can be adding the IBM copyright string to it ?
Sebastian, feeling close to the solution. |
|
Back to top |
|
 |
sebastia |
Posted: Tue Dec 30, 2014 12:15 am Post subject: |
|
|
 Grand Master
Joined: 07 Oct 2004 Posts: 1003
|
An interesting point I found.
When I write this line into command prompt
Code: |
amqswsdl "jms:/queue?destination=SOAPN.demos@WMQSOAP.DEMO.QM&connectionFactory=(connectQueueManager(WMQSOAP.DEMO.QM))&initialContextFactory=com.ibm.mq.jms.Nojndi&targetService=StockQuoteDotNet.asmx&replyDestination=SYSTEM.SOAP.RESPONSE.QUEUE" StockQuoteDotNet.asmx generated\StockQuoteDotNet_Wmq.wsdl |
... its output is exactly
Code: |
5724-H72 (C) Copyright IBM Corp. 1994, 2011. ALL RIGHTS RESERVED. |
... and nothing else !!!
So, when it is executed from within "runivt.cmd", they are mixed ..
Is it possible ?
Sebastian. |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Dec 30, 2014 4:04 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
What may be happening here is that you have an echo of the command line followed by the output.
Check the value of %errorlevel% right after the command and maybe use echo errorlevel was %errorlevel% to show that value...
Looks to me like the command might fail...
Remember the copy .... asmx . >> log 2>&1 command?
Was the copy of the asmx file successful?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
sebastia |
Posted: Tue Dec 30, 2014 9:37 am Post subject: |
|
|
 Grand Master
Joined: 07 Oct 2004 Posts: 1003
|
well ...
there's plenty of literature speaking about the diferences ...
between ERRORLEVEL and %ERRORLEVEL% ...
... but I am a bit confused about where the error must come from
I know I can run the "Axis" part of the IVT
Code: |
c:\MQ\tools\soap\Samples\runivt Axis |
... but the "DotNet" part fails
Code: |
c:\MQ\tools\soap\Samples\runivt DOTNET |
The strange thing is that
*) the "Axis" does call [amqwdeployWMQService] and it goes OK,
*) but [amqwdeployWMQService] fails in "DotNet".
So, we can conclude the problem is not WITHIN its code.
Am I right ?
The successfull cal has this parameter:
Code: |
-z -u "jms:/queue?destination=SOAPJ.demos@WMQSOAP.DEMO.QM&connectionFactory=connectQueueManager(WMQSOAP.DEMO.QM)&initialCont
extFactory=com.ibm.mq.jms.Nojndi" -n 10 -f soap\server\StockQuoteAxis.java |
... and the falling one has this parameter:
Code: |
-u "jms:/queue?destination=SOAPN.demos@WMQSOAP.DEMO.QM&connectionFactory=connectQueueManager(WMQSOAP.DEMO.QM)&initialContext
Factory=com.ibm.mq.jms.Nojndi" -n 10 -f StockQuoteDotNet.asmx |
The largest diference I see is in "-f" part:
*) the first "-f" is soap\server\name.java, and the file is there
*) the second "-f" has no subdirectory, but then asmx file also exists in current directory.
Have to think on it.
Or maybe create a VM with MQ and CSC (?) and start from scratch ... |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Dec 30, 2014 12:19 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Just out of curiosity what is the meaning of the -z parameter?
What happens if you run -z -u with the asmx parms ?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|
|
 |
Goto page 1, 2, 3 Next |
Page 1 of 3 |
|
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
|
|
|
|