You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by MArtin Schumacher <ma...@keineantwort.de> on 2004/07/28 15:00:39 UTC
Own WebService Implementation classes
Hi,
I am trying Axis since a few days and I am getting quite comfortable
with it. Just the bad ant-support or better the bad documentation for
the ant-support is quite hard to handle...
Until now I figured out a lot about axis and ant. But now I am at a
wired point:
I try to generate the WSDD for the Axis-Servlet with the
WSDL2Java-Ant-Task. Everything works fine if I want to start a project
from the scratch. But not if I have my own already existing
Service-Implementation. i.e.
public class Service implements java.java.rmi.Remote {
public String getVersion() throws throws java.rmi.RemoteException {
return "Version 1.0";
}
}
I want to use this as the WebService Implementation instead of the
generated "AdminSoapBindingImpl"-class. And I also don't need the
Service-Interface...
Is there any way to control the output of the WSDL2Java-Ant-Task except
changing the Axis-Source-Files?
MArtin
Re: Own WebService Implementation classes
Posted by MArtin Schumacher <ma...@keineantwort.de>.
Hi Steve,
hmm... this sounds like a lot of copying for me... :( And I want to
generate the Webservice-Implementation Class with my MDA-Tool. I just
don't want to hack anything about Webservices at all in my concrete
project. This Implementation-Class is also a Forwarder
(Delegation-Pattern). But the name of the WebService Class
"SoapBindingImpl" doesn't fit in my architecture at all. Every class
with this task is called Proxy. I want to name it here "WebServiceProxy".
So, do I have to generate my Proxy class and the "SoapBindingImpl"
twice? Once by the MDA-Task, then by the WSDL2Java-Task, then overwrite
the second one with the first one? And then I have two forwards? I think
thats not a really good design...
.---------------. .-----------------. .--------------------.
| myServiceImpl |<-----| WebServiceProxy |<-----| SoapBindingImpl |
| (handcoded) | | (MDA-generated) | | (1.MDA-generated) |
| | | | | (2.Axis-generated) |
'---------------' '-----------------' '--------------------'
^
|
.--------------------.
| WebService |
'--------------------'
This hard Naming-Convention is quite strange, isn't it? Will there be
sometime a possibility to change the implementation-class name?
MArtin
smcardle@spansurf.com wrote:
> Hi Martin,
>
> You can just use the the generated Impl class as a forwarder to your class. If
> you instanciate your own class and then call your methods from the generated
> Impl class.
>
> This works fine for me. As WSDL2Java will not recreate or overwrite the Imple
> class once it exists. If I have new methods to add to a service I generally
> rename the Imple class then generate the Server side classes from the WSDL then
> copy out the new methods generated to my renamed Imple class and then copy it
> back.
>
> Regards
>
> Steve
>
> Quoting MArtin Schumacher <ma...@keineantwort.de>:
>
>
>>Hi,
>>
>>I am trying Axis since a few days and I am getting quite comfortable
>>with it. Just the bad ant-support or better the bad documentation for
>>the ant-support is quite hard to handle...
>>
>>Until now I figured out a lot about axis and ant. But now I am at a
>>wired point:
>>I try to generate the WSDD for the Axis-Servlet with the
>>WSDL2Java-Ant-Task. Everything works fine if I want to start a project
>>from the scratch. But not if I have my own already existing
>>Service-Implementation. i.e.
>>
>>public class Service implements java.java.rmi.Remote {
>> public String getVersion() throws throws java.rmi.RemoteException {
>> return "Version 1.0";
>> }
>>}
>>
>>I want to use this as the WebService Implementation instead of the
>>generated "AdminSoapBindingImpl"-class. And I also don't need the
>>Service-Interface...
>>
>>Is there any way to control the output of the WSDL2Java-Ant-Task except
>>changing the Axis-Source-Files?
>>
>>MArtin
>>
>
>
>
>
>
>
>
Re: Own WebService Implementation classes
Posted by sm...@spansurf.com.
Hi Martin,
You can just use the the generated Impl class as a forwarder to your class. If
you instanciate your own class and then call your methods from the generated
Impl class.
This works fine for me. As WSDL2Java will not recreate or overwrite the Imple
class once it exists. If I have new methods to add to a service I generally
rename the Imple class then generate the Server side classes from the WSDL then
copy out the new methods generated to my renamed Imple class and then copy it
back.
Regards
Steve
Quoting MArtin Schumacher <ma...@keineantwort.de>:
> Hi,
>
> I am trying Axis since a few days and I am getting quite comfortable
> with it. Just the bad ant-support or better the bad documentation for
> the ant-support is quite hard to handle...
>
> Until now I figured out a lot about axis and ant. But now I am at a
> wired point:
> I try to generate the WSDD for the Axis-Servlet with the
> WSDL2Java-Ant-Task. Everything works fine if I want to start a project
> from the scratch. But not if I have my own already existing
> Service-Implementation. i.e.
>
> public class Service implements java.java.rmi.Remote {
> public String getVersion() throws throws java.rmi.RemoteException {
> return "Version 1.0";
> }
> }
>
> I want to use this as the WebService Implementation instead of the
> generated "AdminSoapBindingImpl"-class. And I also don't need the
> Service-Interface...
>
> Is there any way to control the output of the WSDL2Java-Ant-Task except
> changing the Axis-Source-Files?
>
> MArtin
>