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 "Alexander L." <fd...@applied.demonics.org> on 2002/06/27 03:53:28 UTC

WSDL location?

Hi people, 

I am wondering where to access the WSDL files which are automatically 
generated during a ?WSDL url request.
There doesnt seem to be a file called "BlahService.wsdl" anywhere, so I'm 
not sure if the wsdl document is simply generated on-the-fly for each 
request.  If so, what files are used for that automatic generation?

Re: WSDL location?

Posted by Heitzso <he...@bellsouth.net>.
... I'm guessing, but perhaps will stimulate clarification
from the list ....

.NET architecture uses the ?WSDL mechanism, AXIS does not.

"AXIS Next Generation Java SOAP" examples use java2wsdl
mechanism to generate your WSDL file, then they place the
blah.wsdl file in a directory services/blah.wsdl.

However, if you move up the chain a notch and use UDDI
then the wsdl files would be picked up from the UDDI server.

Summary -- I believe you have your SOAP server architectures
crossed up slightly.

Heitzso


On Wed, 2002-06-26 at 21:53, Alexander L. wrote:
> Hi people, 
> 
> I am wondering where to access the WSDL files which are automatically 
> generated during a ?WSDL url request.
> There doesnt seem to be a file called "BlahService.wsdl" anywhere, so I'm 
> not sure if the wsdl document is simply generated on-the-fly for each 
> request.  If so, what files are used for that automatic generation?



Re: WSDL location?

Posted by Alexander Lyubshav <fd...@applied.demonics.org>.
Thanks, that is a very handy page I will use in the future.  I notice that it still has deployed a test service I made.. and I already deleted all the files so I'll have to go and manually make an undeployment file just to get rid of it.

It turns out that when I reboot Tomcat, my versioning problem is solved.  Even though I replaced the class files, Tomcat still seemed to keep the original class file in memory!  

Doh.  So it's not my axis deployment steps after all.

Alexander



>   Look to see if your service is deployed properly.
> 
>   What I do is look at:
> http://tomcaturl:port/axis
> 
>   Then select to visit the servlet.
>   That will show what services are currently deployed.
> 
>   You should also look in your wsdl file to ensure that the new method is in there.
> 

Re: WSDL location?

Posted by James Black <jb...@ieee.org>.
fd wrote:

> Thanks for the hint.  But, my problem remains.  Let me enumerate the exact steps I'm taking so you can tell me if i'm missing something:
> However if I change the wsdd and java file method to another name "aaa", and redeploy using the same steps, then when I run I get:
>         NoSuchMethodException: aaa
>
> What's going on?

  Look to see if your service is deployed properly.

  What I do is look at:
http://tomcaturl:port/axis

  Then select to visit the servlet.
  That will show what services are currently deployed.

  You should also look in your wsdl file to ensure that the new method is in there.


Re: WSDL location?

Posted by fd <fd...@demonics.org>.
Thanks for the hint.  But, my problem remains.  Let me enumerate the exact steps I'm taking so you can tell me if i'm missing something:


C:\blah\% del $TOMCAT_DIR$\webapps\axis\WEB-INF\server-config.wsdd
C:\blah\% javac foo\FooService.java
C:\blah\% copy foo\FooService.class $TOMCAT_DIR$\webapps\axis\WEB-INF\classes\foo\
C:\blah\% cd foo
C:\blah\% java org.apache.axis.client.AdminClient undeploy.wsdd
C:\blah\% java org.apache.axis.client.AdminClient deploy.wsdd


This all looks ok but when I attempt to invoke the service remotely, I get a 
"NoSuchMethodException: pivotAction  tried class:  foo.FooService, method name pivotAction".  By the way it's document-style, so the method name I specify (pivotAction) in my wsdl file (which corresponds to the method name in the FooService.java) is arbitrary but should be ok.

Now the reason I think I have a versioning problem is that I used to deploy this service with the method name "echoElements".  

If I change the wsdd and java file method back to "echoElements", and redeploy using the same steps, then when I run I get:
	successful request and response!

However if I change the wsdd and java file method to another name "aaa", and redeploy using the same steps, then when I run I get:
	NoSuchMethodException: aaa

What's going on?


> > Do you know if any of this information is... cached in memory?
> > I'm just trying to figure out why the generated WSDL is inaccurate (has the method name from an old compilation) even though I run the updated deploy.wsdd file again.  (I thought I already learned about the correct location to deploy updated classfiles so I'm HOPING that's not the problem ;) )
> 
>   You may try to undeploy the info.
> 
>   What I do when I changed the wsdd file, and forgot to undeploy it is to delete the file in $TOMCAT_DIR/webapps/axis/WEB-INF/server-config.wsdd
>   I then redeploy all of my web services.
> 
>   I have a makefile to do this, so I just type, "make deploy". <g>
> 

Re: WSDL location?

Posted by James Black <jb...@ieee.org>.
fd wrote:

> Do you know if any of this information is... cached in memory?
> I'm just trying to figure out why the generated WSDL is inaccurate (has the method name from an old compilation) even though I run the updated deploy.wsdd file again.  (I thought I already learned about the correct location to deploy updated classfiles so I'm HOPING that's not the problem ;) )

  You may try to undeploy the info.

  What I do when I changed the wsdd file, and forgot to undeploy it is to delete the file in $TOMCAT_DIR/webapps/axis/WEB-INF/server-config.wsdd
  I then redeploy all of my web services.

  I have a makefile to do this, so I just type, "make deploy". <g>


Re: WSDL location?

Posted by fd <fd...@demonics.org>.
>  > I am wondering where to access the WSDL files which are automatically
>  >  generated during a ?WSDL url request. There doesnt seem to be a file
>  > called "BlahService.wsdl" anywhere, so I'm not sure if the wsdl
>  > document is simply generated on-the-fly for each request.  If so,
>  > what files are used for that automatic generation?
> 
> The WSDL file is generated on the fly, based on the class file itself 
> and information from the WSDD file use to deploy this service.

Do you know if any of this information is... cached in memory?
I'm just trying to figure out why the generated WSDL is inaccurate (has the method name from an old compilation) even though I run the updated deploy.wsdd file again.  (I thought I already learned about the correct location to deploy updated classfiles so I'm HOPING that's not the problem ;) )


Interesting TAG -> Code Questions

Posted by Mick Robinson <mr...@mapcloud.com>.
Hello, I'm Mick, I'm new to the list, and it's a pleasure meeting
everyone, I see big things happening between all of us! :)

Ok lets get to the point. I got 2 things.

First, I've been very successful consuming web services in JSP with the
use of the webservice taglib. What I need to do now is consume using
straight code.  This is what I got so far:
------------------------
If this is the taglib:
------------------------
<web:invoke 
url="http://www.geographynetwork.com/services/v1/PlaceFinder" 
namespace="http://www.geographynetwork.com/PlaceFinder" 
operation="findPlace"
resultType="LocationInfo"
result="myResult"
scope="page">
<web:param name="arg0" value="Paris"/>
</web:invoke>

<% locationInfo = (LocationInfo)pageContext.getAttribute("myResult",
pageContext.PAGE_SCOPE); %>

------------------------
Then this is the code I've come up with so far, please let me know if
I'm missing anything:
------------------------
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new
java.net.URL("http://www.geographynetwork.com/services/v1/PlaceFinder"))
;
call.setOperationName(new
QName("http://www.geographynetwork.com/PlaceFinder","findPlace"));

locationInfo = (LocationInfo) call.invoke( new Object[] { "Paris" } );

------------------------
Now that code doesn't work, because I'm missing a key ingredient, my
MAIN question, is what is the code equivalent of the following tag (the
key ingredient:)):
------------------------
<web:beanmapping class="com.themindelectric.www.LocationInfo"
namespace="http://www.themindelectric.com/package/com.esri.is.services.c
ommon/" type="LocationInfo"/>

------------------------

I hope someone can help me out with that, or point in the right
direction, I couldn't find anything about that for code.

My Second thing is, I have never been able to consume a service written
in .NET, no matter what the service, or what it returns, I always get a
"500 Server did not recognize the value of HTTP Header SOAPAction:"
error? Anyone know what I got to do to consume to a .NET web service?

Thanks in advance!
Mick

_________________________
Mick Robinson
MapCloud Services Inc
1200-1185 West Georgia St
Vancouver B.C.
604-895-7611 (P)
604-682-3497 (F) 




Re: WSDL location?

Posted by Steve Loughran <st...@iseran.com>.
----- Original Message ----- 
From: "Sam Ruby" <ru...@apache.org>
To: <ax...@xml.apache.org>
Sent: Thursday, June 27, 2002 1:27 AM
Subject: Re: WSDL location?


> Alexander L. wrote:
>  >
>  > I am wondering where to access the WSDL files which are automatically
>  >  generated during a ?WSDL url request. There doesnt seem to be a file
>  > called "BlahService.wsdl" anywhere, so I'm not sure if the wsdl
>  > document is simply generated on-the-fly for each request.  If so,
>  > what files are used for that automatic generation?
> 
> The WSDL file is generated on the fly, based on the class file itself 
> and information from the WSDD file use to deploy this service.
> 

...unless you say otherwise, of course.


Re: WSDL location?

Posted by Sam Ruby <ru...@apache.org>.
Alexander L. wrote:
 >
 > I am wondering where to access the WSDL files which are automatically
 >  generated during a ?WSDL url request. There doesnt seem to be a file
 > called "BlahService.wsdl" anywhere, so I'm not sure if the wsdl
 > document is simply generated on-the-fly for each request.  If so,
 > what files are used for that automatic generation?

The WSDL file is generated on the fly, based on the class file itself 
and information from the WSDD file use to deploy this service.

- Sam Ruby