RE: axis changes wsdl soap:address
The element refers to a WSDL that is in the classpath (or the VM startup directory), not one that is in the web directory. I think what Guy was suggesting is that you put the WSDL in both locations, so that clients can see the original unmodified WSDL if they want to. Regards, Sunil D'Monte Tavant Technologies http://www.tavant.com > -Original Message- > From: Richard Gregory [mailto:[EMAIL PROTECTED] > Sent: Wednesday, October 19, 2005 16:00 > To: axis-user@ws.apache.org > Subject: Re: axis changes wsdl soap:address > > > I tried putting the wsdl file on my personal web server (I > can see it in > a browser) and putting the url of the wsdl file in the > element of my deploy.wsdd, but axis can't find it. > > > AXIS error > > Sorry, something seems to have gone wrong... here are the details: > > Fault - Unable to find WSDL file or resource > http://www.richardgregory.net/BiorsAdvancedQueryDocStyle.wsdl > > AxisFault > faultCode: > {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException > faultSubcode: > faultString: Unable to find WSDL file or resource > http://www.richardgregory.net/BiorsAdvancedQueryDocStyle.wsdl > faultActor: > faultNode: > faultDetail: > {http://xml.apache.org/axis/}hostname:mws13 > > > If this is a feature, do you know if there is any way of > turning it off? > I've looked through all the axis configuration information I > can find, > but I couldn't find any mention of this happening, let alone how to > disable it if required. I would have thought that if there is the > facility to have a custom wsdl file returned rather the wsdl > generated > by axis, it must be possible ensure that the wsdl is returned > exactly as > it was written, with no changes from axis. > > Thanks, > > Richard. > > Guy Rixon wrote: > > >This is a feature, I think. In fact, it's a feature that my > project likes. :) > > > >The assumption is that you might have a dynamic SOAP client > that can discover > >a service as run-time and call it working only from the > WSDL. In that case, > >it's important that the WSDL contain the true endpoint. > "True" means what the > >client would call, so the WSDL varies according to the > client's position on > >your net. > > > > > >If you want to publish WSDL with a textually-fixed endpoint, > put the file on a > >web server. External clients will all see the same WSDL, I > think, so the > >variations may not be a real problem. > > > > > >On Tue, 18 Oct 2005, Richard Gregory wrote: > > > > > > > >>Hi, > >> > >>Apologies if this has already been asked on the list, but I > did a search > >>and couldn't find anything. I'm developing some axis 1.2.1 > web services > >>running in a tomcat 5.5.9 server. I've written the wsdl > files, and have > >>these specified in the wsdd files for the services. At the > moment the > >>soap:address location for the service is specified with the > IP address > >>of my machine for testing, as follows: > >> > >> > >> >>name="BiorsAdvancedQueryDocStyle"> > >> > >> > >> > >> > >>I've noticed that axis changes the soap:address to reflect > the URL used > >>to request the wsdl. For example, if I call the wsdl files > using, for > >>example, http:// >>address>:8080/biorsws/services/BiorsAdvancedQueryDocStyle?ws > dl , it is > >>returned as I defined it in the wsdl: > >> > >> > >> >>name="BiorsAdvancedQueryDocStyle"> > >> > >> > >> > >> > >>However, if I call the wsdl with > >>http://localhost:8080/biorsws/services/BiorsAdvancedQueryDoc > Style?wsdl , > >>the wsdl is changed to: > >> > >> > >> >>name="BiorsAdvancedQueryDocStyle"> > >> >>location="http://localhost:8080/biorsws/services/BiorsAdvanc > edQueryDocStyle"/> > >> > >> > >> > >>and if I use the name of the machine on our local network > >>(http:// >>name>:8080/biorsws/services/BiorsAdvancedQueryDocStyle?wsdl) the > >>returned wsdl contains: > >> > >> > >> >>name="BiorsAdvancedQueryDocStyle"> > >> > >> > >> > >> > >>This happend whether I request the wsdl in a browser, > using WSDL2Java, > >&
Re: axis changes wsdl soap:address
I tried putting the wsdl file on my personal web server (I can see it in a browser) and putting the url of the wsdl file in the element of my deploy.wsdd, but axis can't find it. AXIS error Sorry, something seems to have gone wrong... here are the details: Fault - Unable to find WSDL file or resource http://www.richardgregory.net/BiorsAdvancedQueryDocStyle.wsdl AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException faultSubcode: faultString: Unable to find WSDL file or resource http://www.richardgregory.net/BiorsAdvancedQueryDocStyle.wsdl faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}hostname:mws13 If this is a feature, do you know if there is any way of turning it off? I've looked through all the axis configuration information I can find, but I couldn't find any mention of this happening, let alone how to disable it if required. I would have thought that if there is the facility to have a custom wsdl file returned rather the wsdl generated by axis, it must be possible ensure that the wsdl is returned exactly as it was written, with no changes from axis. Thanks, Richard. Guy Rixon wrote: This is a feature, I think. In fact, it's a feature that my project likes. :) The assumption is that you might have a dynamic SOAP client that can discover a service as run-time and call it working only from the WSDL. In that case, it's important that the WSDL contain the true endpoint. "True" means what the client would call, so the WSDL varies according to the client's position on your net. If you want to publish WSDL with a textually-fixed endpoint, put the file on a web server. External clients will all see the same WSDL, I think, so the variations may not be a real problem. On Tue, 18 Oct 2005, Richard Gregory wrote: Hi, Apologies if this has already been asked on the list, but I did a search and couldn't find anything. I'm developing some axis 1.2.1 web services running in a tomcat 5.5.9 server. I've written the wsdl files, and have these specified in the wsdd files for the services. At the moment the soap:address location for the service is specified with the IP address of my machine for testing, as follows: I've noticed that axis changes the soap:address to reflect the URL used to request the wsdl. For example, if I call the wsdl files using, for example, http://:8080/biorsws/services/BiorsAdvancedQueryDocStyle?wsdl , it is returned as I defined it in the wsdl: However, if I call the wsdl with http://localhost:8080/biorsws/services/BiorsAdvancedQueryDocStyle?wsdl , the wsdl is changed to: http://localhost:8080/biorsws/services/BiorsAdvancedQueryDocStyle"/> and if I use the name of the machine on our local network (http://:8080/biorsws/services/BiorsAdvancedQueryDocStyle?wsdl) the returned wsdl contains: This happend whether I request the wsdl in a browser, using WSDL2Java, when or using MS Visual Studio to generate a .Net client. All other elements of the wsdl are unchanged, as far as I can see. I'm now at the stage where I want to deploy these services on our production server with a regular web address (http://www.gsf.de/.) defined for the service within the wsdl, such as http://www.gsf.de/ws/biorsws/services/BiorsAdvancedQueryDocStyle"/> with this address mapped to the actual location of the service. However, I'm now finding that if I request the wsdl for this service, as is changing the address in the returned wsdl to include the machine name and port on which the service is deployed. Can anyone tell me why this is happening, and more importantly, is there a way to ensure that the wsdl returned by axis is exactly as I have defined it. Thanks in advance for your help. Richard. Guy Rixon [EMAIL PROTECTED] Institute of Astronomy Tel: +44-1223-337542 Madingley Road, Cambridge, UK, CB3 0HA Fax: +44-1223-337523
Re: axis changes wsdl soap:address
Thanks, Guy. I'll try from home tonight and see what address in the wsdl. Richard. Guy Rixon wrote: This is a feature, I think. In fact, it's a feature that my project likes. :) The assumption is that you might have a dynamic SOAP client that can discover a service as run-time and call it working only from the WSDL. In that case, it's important that the WSDL contain the true endpoint. "True" means what the client would call, so the WSDL varies according to the client's position on your net. If you want to publish WSDL with a textually-fixed endpoint, put the file on a web server. External clients will all see the same WSDL, I think, so the variations may not be a real problem. On Tue, 18 Oct 2005, Richard Gregory wrote: Hi, Apologies if this has already been asked on the list, but I did a search and couldn't find anything. I'm developing some axis 1.2.1 web services running in a tomcat 5.5.9 server. I've written the wsdl files, and have these specified in the wsdd files for the services. At the moment the soap:address location for the service is specified with the IP address of my machine for testing, as follows: I've noticed that axis changes the soap:address to reflect the URL used to request the wsdl. For example, if I call the wsdl files using, for example, http://:8080/biorsws/services/BiorsAdvancedQueryDocStyle?wsdl , it is returned as I defined it in the wsdl: However, if I call the wsdl with http://localhost:8080/biorsws/services/BiorsAdvancedQueryDocStyle?wsdl , the wsdl is changed to: http://localhost:8080/biorsws/services/BiorsAdvancedQueryDocStyle"/> and if I use the name of the machine on our local network (http://:8080/biorsws/services/BiorsAdvancedQueryDocStyle?wsdl) the returned wsdl contains: This happend whether I request the wsdl in a browser, using WSDL2Java, when or using MS Visual Studio to generate a .Net client. All other elements of the wsdl are unchanged, as far as I can see. I'm now at the stage where I want to deploy these services on our production server with a regular web address (http://www.gsf.de/.) defined for the service within the wsdl, such as http://www.gsf.de/ws/biorsws/services/BiorsAdvancedQueryDocStyle"/> with this address mapped to the actual location of the service. However, I'm now finding that if I request the wsdl for this service, as is changing the address in the returned wsdl to include the machine name and port on which the service is deployed. Can anyone tell me why this is happening, and more importantly, is there a way to ensure that the wsdl returned by axis is exactly as I have defined it. Thanks in advance for your help. Richard. Guy Rixon [EMAIL PROTECTED] Institute of Astronomy Tel: +44-1223-337542 Madingley Road, Cambridge, UK, CB3 0HA Fax: +44-1223-337523
Re: axis changes wsdl soap:address
This is a feature, I think. In fact, it's a feature that my project likes. :) The assumption is that you might have a dynamic SOAP client that can discover a service as run-time and call it working only from the WSDL. In that case, it's important that the WSDL contain the true endpoint. "True" means what the client would call, so the WSDL varies according to the client's position on your net. If you want to publish WSDL with a textually-fixed endpoint, put the file on a web server. External clients will all see the same WSDL, I think, so the variations may not be a real problem. On Tue, 18 Oct 2005, Richard Gregory wrote: > Hi, > > Apologies if this has already been asked on the list, but I did a search > and couldn't find anything. I'm developing some axis 1.2.1 web services > running in a tomcat 5.5.9 server. I've written the wsdl files, and have > these specified in the wsdd files for the services. At the moment the > soap:address location for the service is specified with the IP address > of my machine for testing, as follows: > > > name="BiorsAdvancedQueryDocStyle"> > > > > > I've noticed that axis changes the soap:address to reflect the URL used > to request the wsdl. For example, if I call the wsdl files using, for > example, http:// address>:8080/biorsws/services/BiorsAdvancedQueryDocStyle?wsdl , it is > returned as I defined it in the wsdl: > > > name="BiorsAdvancedQueryDocStyle"> > > > > > However, if I call the wsdl with > http://localhost:8080/biorsws/services/BiorsAdvancedQueryDocStyle?wsdl , > the wsdl is changed to: > > > name="BiorsAdvancedQueryDocStyle"> > location="http://localhost:8080/biorsws/services/BiorsAdvancedQueryDocStyle"/> > > > > and if I use the name of the machine on our local network > (http:// name>:8080/biorsws/services/BiorsAdvancedQueryDocStyle?wsdl) the > returned wsdl contains: > > > name="BiorsAdvancedQueryDocStyle"> > > > > > This happend whether I request the wsdl in a browser, using WSDL2Java, > when or using MS Visual Studio to generate a .Net client. All other > elements of the wsdl are unchanged, as far as I can see. > > I'm now at the stage where I want to deploy these services on our > production server with a regular web address (http://www.gsf.de/.) > defined for the service within the wsdl, such as > > > name="BiorsAdvancedQueryDocStyle"> > location="http://www.gsf.de/ws/biorsws/services/BiorsAdvancedQueryDocStyle"/> > > > > with this address mapped to the actual location of the service. However, > I'm now finding that if I request the wsdl for this service, as is > changing the address in the returned wsdl to include the machine name > and port on which the service is deployed. > > > name="BiorsAdvancedQueryDocStyle"> > > > > > Can anyone tell me why this is happening, and more importantly, is there > a way to ensure that the wsdl returned by axis is exactly as I have > defined it. > > Thanks in advance for your help. > > Richard. > Guy Rixon [EMAIL PROTECTED] Institute of Astronomy Tel: +44-1223-337542 Madingley Road, Cambridge, UK, CB3 0HA Fax: +44-1223-337523
axis changes wsdl soap:address
Hi, Apologies if this has already been asked on the list, but I did a search and couldn't find anything. I'm developing some axis 1.2.1 web services running in a tomcat 5.5.9 server. I've written the wsdl files, and have these specified in the wsdd files for the services. At the moment the soap:address location for the service is specified with the IP address of my machine for testing, as follows: name="BiorsAdvancedQueryDocStyle"> I've noticed that axis changes the soap:address to reflect the URL used to request the wsdl. For example, if I call the wsdl files using, for example, http://address>:8080/biorsws/services/BiorsAdvancedQueryDocStyle?wsdl , it is returned as I defined it in the wsdl: name="BiorsAdvancedQueryDocStyle"> However, if I call the wsdl with http://localhost:8080/biorsws/services/BiorsAdvancedQueryDocStyle?wsdl , the wsdl is changed to: name="BiorsAdvancedQueryDocStyle"> location="http://localhost:8080/biorsws/services/BiorsAdvancedQueryDocStyle"/> and if I use the name of the machine on our local network (http://name>:8080/biorsws/services/BiorsAdvancedQueryDocStyle?wsdl) the returned wsdl contains: name="BiorsAdvancedQueryDocStyle"> This happend whether I request the wsdl in a browser, using WSDL2Java, when or using MS Visual Studio to generate a .Net client. All other elements of the wsdl are unchanged, as far as I can see. I'm now at the stage where I want to deploy these services on our production server with a regular web address (http://www.gsf.de/.) defined for the service within the wsdl, such as name="BiorsAdvancedQueryDocStyle"> location="http://www.gsf.de/ws/biorsws/services/BiorsAdvancedQueryDocStyle"/> with this address mapped to the actual location of the service. However, I'm now finding that if I request the wsdl for this service, as is changing the address in the returned wsdl to include the machine name and port on which the service is deployed. name="BiorsAdvancedQueryDocStyle"> Can anyone tell me why this is happening, and more importantly, is there a way to ensure that the wsdl returned by axis is exactly as I have defined it. Thanks in advance for your help. Richard.