Okay I get it, however this only works with the JSR181 endpoints. When I access an "external web service" endpoint via the http ProviderProcessor and specify a WSDL for it with the wsdlRessource attribute. it does not work. I'am not sure why it's not working. But I get a "No wsdl ressource available" message. I'am investigating on this. I will be keeping you informed, meanwhile if you do have any info or an example that works please let me know. I might be doing something wrong.
Ps : I've included a copy of my servicemix.xml just in case change the variable for valide urls. --- Guillaume Nodet <[EMAIL PROTECTED]> wrote: > I do. > > The main reason is to be able to generate a valid > wsdl when the > portType namespace is not the same than the service > namespace. > In such a case, a standalone wsdl can not be > generated (in a > standalone wsdl, all definitions belong to the same > namespace) and two > wsdls are generated. The main.wsdl contains the > service definition > and imports another wsdl which contains the portType > definition. > > When the incoming request is > "http://localhost:8192/Service/?wsdl", > the query string is "?wsdl" and the component > redirects to > "/Service/main.wsdl". > For such a request, the query string is null and the > path ends with > ".wsdl". The component looks for the requested wsdl > from a map and > returns it. > > You can see this behavior by changing the content of > the jsr181 > service unit from the soap-binding demo to force the > use of another > namespace for the interface name: > > <?xml version="1.0"?> > <beans > xmlns:jsr181="http://servicemix.apache.org/jsr181/1.0" > xmlns:demo="urn:servicemix:soap-binding" > xmlns:itf="urn:itf"> > > <classpath> > <location>.</location> > </classpath> > > <jsr181:endpoint pojoClass="soap.SimpleService" > annotations="none" > service="demo:simple-service" > endpoint="simple-service" > interfaceName="itf:service" /> > > </beans> > > I do not know what are the problems with https, but > this works fine > for me with http at least. > > Cheers, > Guillaume Nodet > > On 4/26/06, Eric Dofonsou <[EMAIL PROTECTED]> > wrote: > > I'am using the wsdlRessource attribute. > > > > From what I see in the code the following bloack > has > > been added to the process function : > > String query = > request.getQueryString(); > > if (query != null && > > query.trim().equalsIgnoreCase("wsdl")) { > > String uri = > request.getRequestURI(); > > if (!uri.endsWith("/")) { > > uri += "/"; > > } > > uri += "main.wsdl"; > > response.sendRedirect(uri); > > return; > > } > > String path = request.getPathInfo(); > > if (path.startsWith("/")) { > > path = path.substring(1); > > } > > if (path.endsWith(".wsdl")) { > > Definition def = (Definition) > > endpoint.getWsdls().get(path); > > generateWSDL(response, def); > > return; > > } > > > > What this does is if we have a ?WSDL request, it > > redirects to <endpoint>/main.wsl. I can > understand > > this however the last condition that test if the > > request ends with .wsdl is never called and so > > generateWSDL is never called either. Anyone knows > why > > this has been added ? > > > > --- "Gerdes, Mike" <[EMAIL PROTECTED]> wrote: > > > > > > > > If you find something please let me know so that > I > > > might get also forward. I think there is an > option > > > wsdl-resource for the http component, but I > haven't > > > tried it out today. But tomorrow is a new day > and > > > then I will take a look at it. > > > > > > Good luck > > > > > > -----Ursprüngliche Nachricht----- > > > Von: Eric Dofonsou [mailto:[EMAIL PROTECTED] > > > Gesendet: Mittwoch, 26. April 2006 16:16 > > > An: [email protected] > > > Betreff: Re: AW: AW: AW: HTTPS support ? > > > > > > > > > > > > Humm indeed you are right, i've already used > this in > > > the past and it worked maybe something else > change I > > > will have a look at it. > > > > > > --- "Gerdes, Mike" <[EMAIL PROTECTED]> > wrote: > > > > > > > > > > > oh I see :) So that is something different > from > > > what > > > > I thought. I have tested the https with the > > > > sopa-binding example and there was the jsr181 > > > > component that generated the wsdl file. > > > > I get the same message as you, when I use the > http > > > > component alone. There needs to be some kind > of > > > > option in the configuration of the http, where > you > > > > can set the wsdl. At least that is my > > > understanding > > > > and also the point where I am standing now in > my > > > > experiments with web services. > > > > But I will check the soap-binding example > again > > > with > > > > the https connector and try to find out how to > > > give > > > > a wsdl document to the http server. > > > > > > > > That means actually I have no real help to > offer > > > and > > > > that I am stuck at the same point. BTW you > will > > > get > > > > that message also without https and just plain > > > http. > > > > At least that is behaviour in my case. > > > > > > > > -----Ursprüngliche Nachricht----- > > > > Von: Eric Dofonsou > [mailto:[EMAIL PROTECTED] > > > > Gesendet: Mittwoch, 26. April 2006 15:59 > > > > An: [email protected] > > > > Betreff: Re: AW: AW: HTTPS support ? > > > > > > > > > > > > > > > > Okay guys here is what I get when i try to > access > > > > the > > > > wsdl : > > > > > > > > HTTP ERROR: 404 > > > > > > > > No wsdl is available for this service > > > > > > > > RequestURI=/Service/main.wsdl > > > > > > > > Powered by Jetty:// > > > > I will check my config and run in debug to see > if > > > I > > > > have everything properly configured. > > > > > > > > --- "Gerdes, Mike" <[EMAIL PROTECTED]> > wrote: > > > > > > > > > > > > > > yes, I have accessed the wsdl with > > > > > https://localhost:8192/Service/?wsdl But I > will > > > > > check it again, maybe I overlooked something > > > > > > > > > > -----Ursprüngliche Nachricht----- > > > > > Von: Eric Dofonsou > [mailto:[EMAIL PROTECTED] > === message truncated === __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
<?xml version="1.0"?> <beans xmlns:sm="http://servicemix.apache.org/config/1.0" xmlns:http="http://servicemix.apache.org/http/1.0"> <classpath> <location>.</location> </classpath> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="classpath:connection.properties"/> </bean> <bean id="sslParams" class="org.apache.servicemix.http.SslParameters"> <property name="keyPassword" value="dingodino"/> <property name="keyStorePassword" value="dingodino"/> <property name="keyStore" value="./etc/keystore"/> </bean> <sm:container id="jbi" useMBeanServer="true" createMBeanServer="true" dumpStats="true" statsInterval="10"> <sm:activationSpecs> <sm:activationSpec> <sm:component> <http:component> <http:endpoints> <http:endpoint service="demo:simple-service" endpoint="simple-service" role="provider" locationURI="${http.provider.uri}" defaultMep="http://www.w3.org/2004/08/wsdl/in-out" soapVersion="1.1" soap="true"/> </http:endpoints> </http:component> </sm:component> </sm:activationSpec> <sm:activationSpec> <sm:component> <http:component> <http:endpoints> <http:endpoint service="demo:simple-service" endpoint="simple-service" role="consumer" locationURI="${http.consumer.uri}" wsdlResource="${http.provider.uri.wsdl}" defaultMep="http://www.w3.org/2004/08/wsdl/in-out" soapVersion="1.1" soap="true"> <property name="ssl"> <ref local="sslParams"/> </property> </http:endpoint> </http:endpoints> </http:component> </sm:component> </sm:activationSpec> </sm:activationSpecs> </sm:container> </beans>
