SoapAction generation when using default aegis binding
------------------------------------------------------

                 Key: XFIRE-1075
                 URL: http://jira.codehaus.org/browse/XFIRE-1075
             Project: XFire
          Issue Type: Bug
          Components: Aegis Module
    Affects Versions: 1.2.6
         Environment: Java 1.5
Xfire 1.2.6
            Reporter: Eric Le Bail
            Assignee: Dan Diephouse
            Priority: Minor


When using default aegis binding for my service, the generated WSDl has 
soapAction attribute set to "".

In order to specify an action I had to:

Create an Aegis.xml file with
         <method name="Login" action="Login">

And modify my client / server to add into the service creation method the 
folowing code:
         ObjectServiceFactory factory = new ObjectServiceFactory();
         AegisServiceConfiguration conf = new AegisServiceConfiguration();
         conf.setServiceFactory(factory);
         factory.getServiceConfigurations().add(conf);

(I found those informations on the Xfire mailing list).

But When I've done that, my old webServices (that do not have any Aegis.xml 
file) started to return a NullPointerException in method "public Boolean 
isHeader(Method method, int j)" of object "AegisServiceConfiguration".

In order to be able to use some services with a configuration file and some 
without config file I Had to correct the method:
      
public Boolean isHeader(Method method, int j) {
                if (method != null) {
                        MethodInfo methodInfo = 
getMethodInfo(method.getDeclaringClass(),
                                        method);
                        if (methodInfo != null) {
                                ParamInfo param = methodInfo.getParam(j);
                                if (param == null) {
                                        return super.isHeader(method, j);
                                }
                                return Boolean.valueOf(param.isHeader());
                        } else {
                                return super.isHeader(method, j);
                        }
                } else {
                        return super.isHeader(method, j);
                }
        }

Regards,
Eric

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to