[
https://jira.jboss.org/jira/browse/JBESB-2711?page=com.atlassian.jira.plu...
]
David Ward commented on JBESB-2711:
-----------------------------------
I need to have source for the version of wise included in ESB! I tried linking source
into Eclipse from each of these locations, to no avail:
http://anonsvn.jboss.org/repos/wise/core/branches/maven/trunk/core/src
http://anonsvn.jboss.org/repos/wise/core/tags/0.9/src
http://anonsvn.jboss.org/repos/wise/core/tags/1.0/src
http://anonsvn.jboss.org/repos/wise/core/tags/pre-maven/trunk/src
http://anonsvn.jboss.org/repos/wise/core/tags/trunk/core/src
None of them are the right version.
So, because I couldn't debug inside WSMethod.java, I decided to create a wrapper class
(in the same package):
package it.javalinux.wise.core.client;
public class DebugWSMethod extends WSMethod {
public DebugWSMethod(WSMethod orig) {
super(orig.getMethod(), orig.getEndpoint());
}
@Override @SuppressWarnings("unused")
InvocationResult invoke(java.util.Map<String, Object> args) throws
it.javalinux.wise.core.exceptions.WiseException
{
java.lang.reflect.Method method = getMethod();
String methodName = method.getName();
Class<?>[] parameterTypes = method.getParameterTypes();
Object[] pirpa = getParmeterInRightPositionArray(args);
InvocationResult ir = super.invoke(args); // dies
return ir;
}
}
Note: in all versions of source I could find, WSMethod is an interface, not a class...
I then changed wise.SOAPClient.java by adding one line:
WSMethod wsMethod = getWSMethodFromEndpoint(operationName, endpoint); // existed
wsMethod = new DebugWSMethod(wsMethod); // added
The reasons I created the wrapper class is because I wanted to debug what the real
WSMethod (for which I don't have source) uses to determine which method to execute
under the covers. I debugged what I did because the versions of WSMethod*Impl*.java in
source do those sorts of things, so it was my best guess.
It turns out that it looks like it *should* be able to figure out which method to call,
and pass it the correct parameter/argument - but without the real source, I can't know
for sure.
What I *do* know is that Smooks appears to be running fine during the request-mapping
work. I can see the output from the SmooksMapper (extends WiseMapper), and it returns the
appropriate map. So, the problem is not in WSMethod.invoke(Object, WiseMapper), but
instead somewhere in or underneath WSMethod.invoke(Map<String, Object>) - the 2nd
method being called by the 1st after the 1st is done with the request-mapping work.
Maybe I'm being blind here, and overlooking something incredibly simple and stupid...
Verify quickstarts webservice_consumer_wise2 ->
webservice_producer
-------------------------------------------------------------------
Key: JBESB-2711
URL:
https://jira.jboss.org/jira/browse/JBESB-2711
Project: JBoss ESB
Issue Type: Sub-task
Security Level: Public(Everyone can see)
Components: Examples
Affects Versions: 4.5
Reporter: Kevin Conner
Assignee: David Ward
Fix For: 4.6
Attachments: smooks-request-report.html
webservice_consumer_wise2
webservice_consumer_wise3
webservice_consumer_wise4
webservice_mtom
webservice_producer
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira