You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wsif-dev@ws.apache.org by "Girish Kapoor (JIRA)" <ws...@ws.apache.org> on 2008/02/25 22:46:51 UTC
[jira] Created: (WSIF-93) WSIFException: Method nnn not found in
PortType, is thrown by the web service if the Input Message is wrapped
message (i.e. Input is a Complex Java Type)
WSIFException: Method nnn not found in PortType, is thrown by the web service if the Input Message is wrapped message (i.e. Input is a Complex Java Type)
---------------------------------------------------------------------------------------------------------------------------------------------------------
Key: WSIF-93
URL: https://issues.apache.org/jira/browse/WSIF-93
Project: Axis-WSIF
Issue Type: Bug
Components: Basic Architecture
Affects Versions: 2.0, 2.1, future
Reporter: Girish Kapoor
WSIFException: Method nnn not found in PortType, is thrown by the web service if the Input Message is wrapped message (i.e. Input is a Complex Java Type)
This issue can be fixed by changing the following code in the WSIFClientProxy class:
In the method: Object invoke(Object proxy, Method method, Object[] args), Line 291 existing code is:
if (inputParts.size() != args.length) {
unWrapIfWrappedDocLit(inputParts, operation.getName());
}
This needs to be replaced by the following code:
boolean foundWrappedMessage = inputMessage.getPart("parameters") != null
&& inputMessage.getParts() != null && inputMessage.getParts().size() == 1;
if (inputParts.size() != args.length || foundWrappedMessage) {
unWrapIfWrappedDocLit(inputParts, operation.getName());
}
In the method: Operation findMatchingOperation(Method method, Object[] args), Line 469 existing code is:
// No match if there are different numbers of parameters
if (types != null && (numInputParts != types.length)) {
unWrapIfWrappedDocLit(inputParts, operation.getName());
numInputParts = inputParts.size();
if (numInputParts != types.length) {
continue;
}
}
This needs to be replaced by the following code:
boolean foundWrappedMessage = inputMessage.getPart("parameters") != null
&& inputMessage.getParts() != null && inputMessage.getParts().size() == 1;
if (types != null && (numInputParts != types.length || foundWrappedMessage)) {
unWrapIfWrappedDocLit(inputParts, operation.getName());
numInputParts = inputParts.size();
if (numInputParts != types.length) {
continue;
}
}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: wsif-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: wsif-dev-help@ws.apache.org