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 » IBM MQ Installation/Configuration Support » MQ as Transport for SOAP - problem with RUNIVT.cmd

Post new topic  Reply to topic Goto page 1, 2, 3  Next
 MQ as Transport for SOAP - problem with RUNIVT.cmd « View previous topic :: View next topic » 
Author Message
sebastia
PostPosted: Sat Dec 27, 2014 1:56 am    Post subject: MQ as Transport for SOAP - problem with RUNIVT.cmd Reply with quote

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
View user's profile Send private message Visit poster's website
fjb_saper
PostPosted: Sat Dec 27, 2014 12:30 pm    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
sebastia
PostPosted: Sat Dec 27, 2014 11:20 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
fjb_saper
PostPosted: Sun Dec 28, 2014 6:52 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
sebastia
PostPosted: Sun Dec 28, 2014 7:52 am    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
bruce2359
PostPosted: Sun Dec 28, 2014 8:12 am    Post subject: Reply with quote

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
View user's profile Send private message
sebastia
PostPosted: Sun Dec 28, 2014 8:36 am    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
fjb_saper
PostPosted: Mon Dec 29, 2014 6:18 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
sebastia
PostPosted: Mon Dec 29, 2014 11:25 am    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
fjb_saper
PostPosted: Mon Dec 29, 2014 1:35 pm    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
sebastia
PostPosted: Mon Dec 29, 2014 11:08 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
sebastia
PostPosted: Tue Dec 30, 2014 12:15 am    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
fjb_saper
PostPosted: Tue Dec 30, 2014 4:04 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
sebastia
PostPosted: Tue Dec 30, 2014 9:37 am    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
fjb_saper
PostPosted: Tue Dec 30, 2014 12:19 pm    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2, 3  Next Page 1 of 3

MQSeries.net Forum Index » IBM MQ Installation/Configuration Support » MQ as Transport for SOAP - problem with RUNIVT.cmd
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.