Bug #4118
closedWeb Service Actor stored in Library
0%
Description
After setting the wsdl and service name in org.sdm.spa.WebService and org.sdm.spa.WSWithComplexTypes, I store them back in the library.
I then drag these new actors into the workflow desktop.
For WebService I get the error:
Change Failed
String index out of range: -5
For WSWithComplexTypes I get the error:
Error encountered in:
<property name="_type" class="ptolemy.actor.TypeAttribute" value="string">
TypeAttribute can only be contained by instances of TypedIOPort.
in .My WSWithComplexTypes.kepler:query and ._type
For WebService this seems to be a problem with setting the methodName parameter before setting the url parameter.
I was able to add a check on _urlStr to avoid this:
Line 410:
// System.out.println("Method name before get expression: " +
// _methodNameStr);
_methodNameStr = methodName.getExpression();
_debug("<METHOD_NAME>" + _methodNameStr + "</METHOD_NAME>");
// System.out.println("Method name after get expression: " +
// _methodNameStr);
int slashIndex = _urlStr.lastIndexOf('/');
//if(_urlStr.length()>0)
{
_wsName = _urlStr.substring(slashIndex + 1,
_urlStr.length() - 5);
}
For WSWithComplexType I don't know the problem.
Chris
Updated by Chris Weed over 15 years ago
This line should be uncommented to make this work:
//if(_urlStr.length()>0)
Updated by Daniel Crawl over 15 years ago
Are you using Kepler from SVN? I think I've already fixed this bug in WebService.
(http://bugzilla.ecoinformatics.org/show_bug.cgi?id=4062)
I'll look into the problem with WSWithComplexTypes. It would help if I had the wsdl and service name.
Updated by Daniel Crawl about 14 years ago
I am no longer able to reproduce this problem. If it still occurs for your web services, feel free to re-open.