Hi Jesse,

> want me to make a java2wsdl plugin? 
that would be great! 

Regarding my open question, I looked into the documentation of the
WSDL2Java tool at
http://ws.apache.org/axis/java/reference.html#WSDL2JavaReference

There is a switch which solves my problem: 

-c, --implementationClassName <argument>
        Set the name of the implementation class.Especially useful when
        exporting an existing class as a web service using java2wsdl
        followed by wsdl2java. If you are using the skeleton deploy
        option you must make sure, after generation, that your
        implementation class implements the port type name interface
        generated by wsdl2java. You should also make sure that all your
        exported methods throws java.lang.RemoteException.
        
I added support for this and also for the -NStoPkg parameter for
mappings of namespaces to packages to your Plug-in code. 

A patch is provided at
http://www.sylphen.com/~sylph02/wsdl2java-maven-plugin.patch.
You need to cd to trunk/mojo/wsdl2java-maven-plugin to apply it using 
patch -p1 < patch-file.

The NStoPkg switch is configured like this:

<configuration>
  <fileNStoPkg>(path to property file)</fileNSToPkg>
</configuration>

The implementationClassName field in the Mojo currently sort of breaks
support for multiple WSDL files. This should be a mapping, one for each
WSDL file, but I could not figure out how to implement configuration
with a map because this section is missing in the Maven plug-in
configuration documentation.

So, for now the plug-in just uses one property implementationClassName
which allows to set the implementation class name but this is used for
all WSDL files. 

It must be given like this:

<configuration>

<implementationClassName>com.myco.MyServiceImpl</implementationClassName>
</configuration>

However, the code for the map implementation is there, it's just
commented out. The configuration would probably look like this: 

<configuration>
  <implementationClassMappings>
    <entry>
      <key>myservice1.wsdl</key>
      <value>com.myco.webservices.impl.MyService1</value>
    </entry>
    <entry>
      <key>myservice2.wsdl</key>
      <value>com.myco.webservices.impl.MyService2</value>
    </entry>
  </implementationClassMappings>
</configuration>


Christoph



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to