Author |
Message
|
DirtyHowi |
Posted: Wed Feb 19, 2014 12:05 pm Post subject: calling wcf service |
|
|
Novice
Joined: 17 Feb 2014 Posts: 22
|
Im calling an operations contract in .net wcf service that has no return value (i.e. void), its being called from a timed message flow, when it gets into the sub flow the extract node is failing, and im not hitting the breakpoint in VS like i am with the other flows.
the operation contract is marked as isoneway=true, so its basically a fire it and forget about it type deal, i just need the service to fire off.
we added a string to the signature that is not used, i can pass this around if need be since it dont mean anything and its not like it matters.
or do i just remove the extract node from the subflow and send the output from the request directly to the response node in the subflow, there is no soap envelope to remove.
alternatly i can create a bool return type and always return true.
suggestions, flailings, beatings and torture all accepted  |
|
Back to top |
|
 |
Vitor |
Posted: Wed Feb 19, 2014 12:09 pm Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Which version of WMB / IIB?
Can you be more specific than:
DirtyHowi wrote: |
the extract node is failing |
Any messages? Symptoms? Does it scream "It's .NET!!! ARGH!" and jump out of the back of the machine? Commit ritual suicide? Stare at you defiantly?
Does a user trace offer any insights? If it doesn't get into VS we can theorise it's breaking on the IBM side somewhere. A user trace could illuminate where, or show that's it's disappearing into the twilight neitherworld of MSoft never to return.
DirtyHowi wrote: |
suggestions, flailings, beatings and torture all accepted |
You're using .NET. Nothing I can do will make things worse. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
DirtyHowi |
Posted: Wed Feb 19, 2014 12:13 pm Post subject: |
|
|
Novice
Joined: 17 Feb 2014 Posts: 22
|
IIB 9.0
probably screaming out the back, its a VM workstation so hard to tell, the server room is in the basement.
it appears to fire the request, and since its marked as isoneway the response is immediate, i think we had a problem once with a void return type, but cant recall.
the biggest problem is the server returns a 202 rather than a 200. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Feb 19, 2014 12:17 pm Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
DirtyHowi wrote: |
the biggest problem is the server returns a 202 rather than a 200. |
Urgh. You need a .NET expert, which means I'm going to slink away and play with my ESQL.
Are you using the latest .NET thing? 4.0??? Or are you calling an earlier one? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Feb 19, 2014 12:19 pm Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Moved to broker section _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
DirtyHowi |
Posted: Wed Feb 19, 2014 12:33 pm Post subject: |
|
|
Novice
Joined: 17 Feb 2014 Posts: 22
|
Vitor wrote: |
DirtyHowi wrote: |
the biggest problem is the server returns a 202 rather than a 200. |
Urgh. You need a .NET expert, which means I'm going to slink away and play with my ESQL.
Are you using the latest .NET thing? 4.0??? Or are you calling an earlier one? |
4.5 actually, we only deign to return to 4.0 when we need to make a compute node since IBM doesnt have a API driver for 4.5.1 |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Feb 19, 2014 12:36 pm Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
So presumably the soap extract node is failing because there's no actual message body returned from the SOAPRequest node, just an HTTP header...
Seems reasonable to ignore the SOAPExtract node in that case... since there's never going to be soap envelop to extract a soap body from.... since the operation merely returns a 2xx status, not any message data. |
|
Back to top |
|
 |
DirtyHowi |
Posted: Thu Feb 20, 2014 7:11 am Post subject: |
|
|
Novice
Joined: 17 Feb 2014 Posts: 22
|
if i fire this off through soapui, it hits the break point and goes through like i think it should.
the subflow is not invoking the service like it should. What is it with fire/forget or void return that could be causing the problem? there is no message being passed, im just trying to invoke a service from IIB.
it make no sense that the more complicated things work without a hitch, but this one simple thing (or what should be simple) does not. |
|
Back to top |
|
 |
DirtyHowi |
Posted: Fri Feb 21, 2014 8:45 am Post subject: |
|
|
Novice
Joined: 17 Feb 2014 Posts: 22
|
short answer on this...you cant, MQ will not actively fire a IsOneWay event in a .NET WCF service.
had to make a generic response object datacontract with a bool data member to add to it, after i did that and reset my subflow, works fine, debugs in like expected.
apparently primitive return types dont work either, tried that one already, but a primitive type wrapped in a datacontract works perfectly. |
|
Back to top |
|
 |
|