Since no one has been able to supply an answer for this, I've created a bug in JIRA. It contains a full zip file of the project (minus xfire and dependency jars).
http://jira.codehaus.org/browse/XFIRE-875 Thanks, Chris -----Original Message----- From: Christopher Moesel [mailto:[EMAIL PROTECTED] Sent: Friday, February 02, 2007 3:52 PM To: [email protected] Subject: RE: [xfire-user] XFireRuntimeException: Couldn't find schema for part: ... Thanks for the suggestion. Unfortunately, I still have the same result. If I look at the logs, it appears that the XSD is being loaded: Resovling. Base: null, URI: calc.wsdl Retrieving document at 'null'. Retrieving schema at 'calc.xsd'. Resovling. Base: null, URI: calc.xsd In addition, if I change the wsdl to import calc_not_real.xsd, it throws a whole different exception, indicating it can't find the file. So... it *is* loading the file-- the mappings just appear to be getting screwed up. Thanks again for the suggestion. I wish it worked. ;) -Chris -----Original Message----- From: Matthew Good [mailto:[EMAIL PROTECTED] Sent: Friday, February 02, 2007 3:25 PM To: [email protected] Subject: Re: [xfire-user] XFireRuntimeException: Couldn't find schema for part: ... in wsdl try: <xsd:schema targetNamespace="http://example.com/calculator/types"> <xsd:include schemaLocation="calc.xsd"/> </xsd:schema> Matthew Good [EMAIL PROTECTED] 720-320-8376 ----- Original Message ---- From: Christopher Moesel <[EMAIL PROTECTED]> To: [email protected] Sent: Friday, February 2, 2007 10:08:12 AM Subject: RE: [xfire-user] XFireRuntimeException: Couldn't find schema for part: ... I am doing WSDL-first development and still having problems with defining my schema in a separate XSD file. If I put it in a separate file, I get an error upon deployment like: org.codehaus.xfire.XFireRuntimeException: Couldn't find schema part: {http://example.com/calculator/types}simpleAddition If I embed the schema in my WSDL then everything appears to work fine. I would really prefer to keep the schema external though. The relevant files are pasted below. Thanks for any help you can give! -Chris ========= CALC.WSDL ========== <?xml version="1.0" ?> <wsdl:definitions name="Calculator" targetNamespace="http://example.com/calculator"; xmlns:tns="http://example.com/calculator"; xmlns:types="http://example.com/calculator/types"; xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";> <wsdl:types> <xsd:schema> <xsd:import namespace="http://example.com/calculator/types"; schemaLocation="calc.xsd"/> </xsd:schema> </wsdl:types> <wsdl:message name="simpleAdditionRequest"> <wsdl:part name="body" element="types:simpleAddition"/> </wsdl:message> <wsdl:message name="simpleAdditionResponse"> <wsdl:part name="body" element="types:simpleAdditionResponse"/> </wsdl:message> <wsdl:message name="CalculatorFault"> <wsdl:part name="fault" element="types:CalculatorFault"/> </wsdl:message> <wsdl:portType name="CalculatorPortType"> <wsdl:operation name="simpleAddition"> <wsdl:input message="tns:simpleAdditionRequest" /> <wsdl:output message="tns:simpleAdditionResponse" /> <wsdl:fault name="CalculatorFault" message="tns:CalculatorFault"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="CalculatorPortBinding" type="tns:CalculatorPortType"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http"; style="document"/> <wsdl:operation name="simpleAddition"> <soap:operation action=""/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="CalculatorFault"> <soap:fault name="CalculatorFault" use="literal" /> </wsdl:fault> </wsdl:operation> </wsdl:binding> <wsdl:service name="Calculator"> <wsdl:port name="CalculatorPort" binding="tns:CalculatorPortBinding"> <soap:address location="http://localhost:8080/calculator/services/Calculator"/> </wsdl:port> </wsdl:service> </wsdl:definitions> ======= CALC.XSD ======== <?xml version="1.0" ?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; targetNamespace="http://example.com/calculator/types"; xmlns:tns="http://example.com/calculator/types"; version="1.0"> <xs:element name="simpleAddition"> <xs:complexType> <xs:sequence> <xs:element name="int1" type="xs:int"/> <xs:element name="int2" type="xs:int"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="simpleAdditionResponse"> <xs:complexType> <xs:sequence> <xs:element name="sum" type="xs:int"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="CalculatorFault"> <xs:complexType> <xs:sequence> <xs:element name="errorCode" type="xs:int" /> <xs:element name="message" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> ======= APPLICATIONCONTEXT.XML ========= <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd";> <import resource="classpath:org/codehaus/xfire/spring/xfire.xml" /> <bean name="calculatorWebService" class="org.codehaus.xfire.spring.remoting.XFireExporter"> <property name="serviceBean"> <bean class="com.example.calculator.impl.SimpleCalculatorService" /> </property> <property name="serviceClass" value="com.example.calculator.impl.SimpleCalculatorService" /> <property name="serviceFactory"> <ref bean="xfire.jaxwsServiceFactory" /> </property> <property name="wsdlURL" value="calc.wsdl"/> </bean> <bean name="xfire.jaxwsServiceFactory" class="org.codehaus.xfire.jaxws.JAXWSServiceFactory"> <constructor-arg index="0"> <ref bean="xfire.transportManager" /> </constructor-arg> </bean> </beans> ======== WEB.XML =========== <?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"; version="2.4"> <description>Calculator Service</description> <display-name>Calculator Web Service</display-name> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext*.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</l istener-class> </listener> <servlet> <servlet-name>XFireServlet</servlet-name> <servlet-class> org.codehaus.xfire.spring.XFireSpringServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> <welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file- list> </web-app> ======== WSGEN USAGE IN BUILD.XML ========== <wsgen outputDirectory="${gen-src}" wsdl="${wsdl.dir}/calc.wsdl" package="com.example.calculator" externalbindings="${wsdl.dir}/custom-schema.xml" overwrite="true" /> ======== SimpleCalculatorService.java ========== package com.example.calculator.impl; import javax.jws.WebService; import com.example.calculator.CalculatorFault; import com.example.calculator.CalculatorPortType; @WebService(serviceName = "Calculator", targetNamespace = "http://example.com/calculator";, endpointInterface = "com.example.calculator.CalculatorPortType") public class SimpleCalculatorService implements CalculatorPortType { public int simpleAddition(int int1, int int2) throws CalculatorFault { return int1 + int2; } } -----Original Message----- From: Dan Diephouse [mailto:[EMAIL PROTECTED] Sent: Monday, January 08, 2007 9:53 AM To: [email protected] Subject: Re: [xfire-user] XFireRuntimeException: Couldn't find schema for part: ... Any chance you can send along a complete WSDL/schema? I don't see anything wrong with what you have. You can send it along privately if you need to... Cheers, Dan On 1/2/07, Christopher Moesel <[EMAIL PROTECTED]> wrote: > > Hi Dan, > > Thanks for the quick response. I don't believe that I have multiple > schemas with the same namespace. I've included representative samples of my > WSDL and XSD below (perhaps that will help?)... I was just doing some more > looking- would setting the jaxb.search.packages property help? I have not > set it to anything. The error looks like it's happening in reading the WSDL > though, so I suspect the jaxb.search.packages property isn't even relevant > at this point. > > Thanks, > Chris > > ===== BEGIN myservice.wsdl ===== > > <wsdl:definitions > name="MyService" > targetNamespace="http://mycompany.com/myservice"; > xmlns:tns=" http://mycompany.com/myservice"; > xmlns:types=" > http://mycompany.com/myservice/types"; > xmlns:xsd="http://www.w3.org/2001/XMLSchema"; > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";> > > <wsdl:types> > <xsd:schema> > <xsd:import namespace=" > http://mycompany.com/myservice/types"; > schemaLocation="mytypes.xsd"/> > </xsd:schema> > </wsdl:types> > > ... > > </wsdl:definitions> > > ===== END myservice.wsdl ===== > > ===== BEGIN mytypes.xsd ===== > > <?xml version="1.0" ?> > <xs:schema > xmlns:xs="http://www.w3.org/2001/XMLSchema"; > targetNamespace=" > http://mycompany.com/myservice/types"; > xmlns:tns=" http://mycompany.com/myservice/types"; > version="1.0"> > > <xs:element name="someType"> > <xs:complexType> > <xs:sequence> > <xs:element name="string1" type="xs:string"/> > <xs:element name="string2" type="xs:string"/> > </xs:sequence> > </xs:complexType> > </xs:element> > > ... > > </xs:schema> > > ===== END mytypes.xsd ===== > > > On 1/2/07 1:56 PM, "Dan Diephouse" <[EMAIL PROTECTED]> wrote: > > > Hi Christopher, > > Do you per chance have a WSDL with multiple <schema>s with the same > targetNamespace? Someone filed that bug as XFIRE-720 and I just fixed it in > SVN. I'll be publishing snapshots later today, but just wanted to see if it > was the same issue. > > - Dan > > On 1/2/07, Christopher Moesel <[EMAIL PROTECTED]> wrote: > > Hello All, > > I am attempting to use Xfire for a contract-first web service. I've > written > the WSDL which imports a .XSD XML Schema file containing the types. I've > been able to successfully use the WsGen ANT task to generate all the > server-side files. > > My problem is in declaring the wsdlURL in the service definition. I am > using the spring configuration and have set the wsdlURL property to point > to > the WSDL in several ways: > A) On the classpath > B) Via HTTP URL > C) On the file system > > In all cases it's able to find the WSDL, but seems to have trouble finding > the types. I get the following error when the service is instantiated on > the server: > > org.codehaus.xfire.XFireRuntimeException: Couldn't find > schema for part: > {http://mycompany.com/myservice/types}someType > > [Note that I've changed the name of the NS and type for IP reasons] > > I am using Xfire 1.2.3 and XmlSchema 1.1. I've looked through the archives > and haven't seen any helpful info yet. Anyone have any ideas? > > Thanks, > Chris > > > --------------------------------------------------------------------- > To unsubscribe from this list please visit: > > http://xircles.codehaus.org/manage_email > > > > > -- Dan Diephouse Envoi Solutions http://envoisolutions.com | http://netzooid.com/blog --------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email --------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email --------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email --------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email --------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email
