Hi, No it was fixed by me not calling init() during my component initialisation phase. Works fine now Thx. David
-----Original Message----- From: Dan Diephouse [mailto:[EMAIL PROTECTED] Sent: 06 December 2006 04:00 To: [email protected] Subject: Re: [xfire-user] AegisBindingProvider cannot find the xsi:type, but it is there! Hi David, Any chance you can get a log of the SOAP messages being sent? That might help figure out whats going on. There is some documentation on logging in the user's guide. You could also use TCPMon to capture messages. Regards, - Dan On 12/5/06, David <[EMAIL PROTECTED]> wrote: Hi, I noticed the missing super.init() as soon as I sent the email, but that is not it. My Servlet class is an Avalon component and I was calling init() during the intialize phase of the component, which is too early. Clearly Xfire calls it on the first request, after it has set up the ServletContenxt. David -----Original Message----- From: David [mailto:[EMAIL PROTECTED] Sent: 05 December 2006 11:32 To: [email protected] Subject: RE: [xfire-user] AegisBindingProvider cannot find the xsi:type, but it is there! Hi, I re worked my embedding of XFire in my webapp as per the instructions - http://xfire.codehaus.org/Embedding+XFire I now get this Thread [main] (Suspended (exception NullPointerException)) XFireComponent(GenericServlet).getServletContext() line: 159 XFireComponent(XFireServlet).createController() line: 97 XFireComponent(XFireServlet).getController() line: 71 XFireComponent.init () line: 49 XFireComponent.initialize() line: 58 ContainerUtil.initialize(Object) line: 282 DefaultComponentFactory.newInstance() line: 323 DefaultComponentHandler.doGet() line: 169 DefaultComponentHandler(ComponentHandler).get() line: 408 ExcaliburComponentManager.lookup(String) line: 302 TurbineAvalonComponentService.initialize() line: 188 TurbineAvalonComponentService.init () line: 98 TurbineServices(BaseServiceBroker).initService(String) line: 283 TurbineServices(BaseServiceBroker).doInitService(String) line: 363 TurbineServices(BaseServiceBroker).initServices(boolean) line: 335 TurbineServices(BaseServiceBroker).init() line: 152 Turbine.configure(ServletConfig, ServletContext) line: 378 Turbine.init() line: 191 Turbine(GenericServlet).init(ServletConfig) line: 211 StandardWrapper.loadServlet() line: 1091 StandardWrapper.load() line: 925 StandardContext.loadOnStartup(Container[]) line: 3880 StandardContext.start() line: 4141 StandardHost(ContainerBase).start() line: 1012 StandardHost.start() line: 718 StandardEngine(ContainerBase).start() line: 1012 StandardEngine.start() line: 442 StandardService.start() line: 450 StandardServer.start () line: 680 Catalina.start() line: 536 NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] NativeMethodAccessorImpl.invoke(Object, Object[]) line: not available DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: not available Method.invoke(Object, Object...) line: not available Bootstrap.start() line: 275 Bootstrap.main (String[]) line: 413 My implemetation is public void init() throws ServletException { XFire xfire = XFireFactory.newInstance().getXFire(); ObjectServiceFactory factory = new ObjectServiceFactory(xfire.getTransportManager(), null); //we don't want to expose compareTo factory.addIgnoredMethods("java.lang.Comparable"); Service service = factory.create(PaladyneService.class,"SearchSecurities", null, null); try { service.setWSDLWriter(new ResourceWSDL(urlToWSDL)); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } service.setProperty(ObjectInvoker.SERVICE_IMPL_CLASS, PaladyneComponent.class ); //we register the service with the controller that handles soap requests getController().getServiceRegistry().register(service); } My web.xml part referring to this service is <servlet> <servlet-name>XFire</servlet-name> <display-name>XFire Servlet</display-name> <servlet-class>XFireComponent</servlet-class> </servlet> <servlet> <servlet-name>transformer</servlet-name> <servlet-class>org.apache.turbine.Turbine</servlet-class> <init-param> <param-name>properties</param-name> <param-value>WEB-INF/conf/TurbineResources.properties</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>transformer</servlet-name> <url-pattern>/servlet/transformer/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>XFire</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> Am I missing a step? The servlet-class is correct, even tried it with the fully qualified name com.stpenable.transformer.avalon.xfire.XFireComponent with no change to the exception Thanks, David -----Original Message----- From: David [mailto:[EMAIL PROTECTED] Sent: 04 December 2006 12:40 To: [email protected] Subject: RE: [xfire-user] AegisBindingProvider cannot find the xsi:type, but it is there! Hi, Not sure what to do to debug this, any suggestions? David -----Original Message----- From: David [mailto:[EMAIL PROTECTED] Sent: 01 December 2006 12:28 To: [email protected] <mailto:[email protected]> Subject: [xfire-user] AegisBindingProvider cannot find the xsi:type, but it is there! Hi, Plugged in the XFire 1.2.2 when I had been using an earlier version. Did not change my configuration at all, it had been working. Now when I hit any of the methods on the service and breakpoint them it never reaches them. Does the targetNamespace have to be a real resolvable URL? I am getting this INFO message in the logs, no exceptions. 2006-12-01 11:25:24,890 [http-8081-Processor24] INFO org.codehaus.xfire.aegis.AegisBindingProvider - xsi:type="{http://soap.transformer.stpenable.com}OptionSearchParameters" was specified, but no corresponding Type was registered; defaulting to {http://www.w3.org/2001/XMLSchema}anyType Now that xsi:type is in the WSDL The WSDL is (removed the types not relevant to this query, it is a little large otherwise) <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope <http://www.w3.org/2003/05/soap-envelope> " xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding <http://www.w3.org/2003/05/soap-encoding> " xmlns:tns="http://soap.transformer.stpenable.com" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/ <http://schemas.xmlsoap.org/wsdl/soap/> " xmlns:s="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soap.transformer.stpenable.com <http://soap.transformer.stpenable.com> "> <wsdl:types> <s:schema targetNamespace="http://soap.transformer.stpenable.com" elementFormDefault="qualified" attributeFormDefault="qualified"> .. <s:element name="getOptions"> <s:complexType> <s:sequence maxOccurs="1" minOccurs="0"> <s:element name="getOptionsRequest" type="tns:OptionSearchParameters"> </s:element> </s:sequence> </s:complexType> </s:element> <s:element name="getOptionsResponse"> <s:complexType> <s:sequence maxOccurs="1" minOccurs="0"> <s:element name="GetOptionsResults" type="tns:ArrayOfOptionDTO"> </s:element> </s:sequence> </s:complexType> </s:element> . <s:complexType name="OptionSearchParameters"> <s:complexContent mixed="false"> <s:extension base="tns:BasicSearchParameters"> <s:sequence> <s:element minOccurs="0" maxOccurs="1" default="-2147483648" name="Year" type="s:int" /> <s:element minOccurs="0" maxOccurs="1" default="-2147483648" name="Month" type="s:int" /> <s:element minOccurs="0" maxOccurs="1" default="-79228162514264337593543950335" name="StrikePrice" type="s:decimal" /> <s:element minOccurs="0" maxOccurs="1" name="OptionType" type="s:string" /> </s:sequence> </s:extension> </s:complexContent> </s:complexType> . </s:schema> </wsdl:types> . <wsdl:message name="getOptionsResponse"> <wsdl:part element="tns:getOptionsResponse" name="getOptionsResponse" > </wsdl:part> </wsdl:message> <wsdl:message name="getOptionsRequest"> <wsdl:part element="tns:getOptions" name="getOptions" > </wsdl:part> </wsdl:message> . <wsdl:operation name="getOptions"> <wsdl:input message="tns:getOptionsRequest" name="getOptionsRequest"></wsdl:input> <wsdl:output message="tns:getOptionsResponse" name="getOptionsResponse"></wsdl:output> </wsdl:operation> .. <wsdl:binding name="SearchSecuritiesHttpBinding" type="tns:SearchSecuritiesPortType"> <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="searchSecurities"> <wsdlsoap:operation soapAction="" /> .. <wsdl:operation name="getOptions"> <wsdlsoap:operation soapAction="" /> <wsdl:input name="getOptionsRequest"> <wsdlsoap:body use="literal" /> </wsdl:input> <wsdl:output name="getOptionsResponse"> <wsdlsoap:body use="literal" /> </wsdl:output> </wsdl:operation> . </wsdl:operation> </wsdl:binding> <wsdl:service name="SearchSecurities"> <wsdl:port binding="tns:SearchSecuritiesHttpBinding" name="SearchSecuritiesHttpPort"> <wsdlsoap:address location="http://localhost:8081/transformer/services/SearchSecurities" /> </wsdl:port> </wsdl:service> </wsdl:definitions> My wsdl is resolvable (http://localhost:8081/transformer/resources/SearchSecurities.wsdl) So I am not sure what is missing. --------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email <http://xircles.codehaus.org/manage_email> --------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email <http://xircles.codehaus.org/manage_email> --------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email <http://xircles.codehaus.org/manage_email> --------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email <http://xircles.codehaus.org/manage_email> -- Dan Diephouse Envoi Solutions http://envoisolutions.com | http://netzooid.com/blog <http://netzooid.com/blog>
