null pointer when accessing operations

60 views
Skip to first unread message

bruno....@googlemail.com

unread,
Nov 16, 2012, 10:48:09 AM11/16/12
to membrane...@googlegroups.com
Hello,

I am able to register the service but as soon as I try to click on any operation within the [Interface] tab,  I get the following error.



java.lang.NullPointerException

at com.sun.beans.TypeResolver.resolve(Unknown Source)
at com.sun.beans.TypeResolver.resolve(Unknown Source)
at com.sun.beans.TypeResolver.resolveInClass(Unknown Source)
at java.beans.FeatureDescriptor.getReturnType(Unknown Source)
at java.beans.Introspector.getTargetEventInfo(Unknown Source)
at java.beans.Introspector.getBeanInfo(Unknown Source)
at java.beans.Introspector.getBeanInfo(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.predic8.schema.creator.AbstractSchemaCreator$_createSequence_closure1.<init>(AbstractSchemaCreator.groovy)
at com.predic8.schema.creator.AbstractSchemaCreator.createSequence(AbstractSchemaCreator.groovy:29)
at com.predic8.schema.creator.AbstractSchemaCreator$createSequence.call(Unknown Source)
at com.predic8.schema.creator.SchemaCreator$createSequence.call(Unknown Source)
at com.predic8.schema.Sequence.create(Sequence.groovy:14)
at com.predic8.schema.Sequence$create.call(Unknown Source)
at com.predic8.wstool.creator.RequestTemplateCreator$_createComplexType_closure1.doCall(RequestTemplateCreator.groovy:56)
at com.predic8.wstool.creator.RequestTemplateCreator$_createComplexType_closure1.doCall(RequestTemplateCreator.groovy)
at com.predic8.wstool.creator.RequestTemplateCreator.createComplexType(RequestTemplateCreator.groovy:55)
at com.predic8.wstool.creator.RequestTemplateCreator$createComplexType.call(Unknown Source)
at com.predic8.schema.creator.SchemaCreator$createComplexType.call(Unknown Source)
at com.predic8.schema.ComplexType.create(ComplexType.groovy:54)
at com.predic8.schema.ComplexType$create.call(Unknown Source)
at com.predic8.wstool.creator.RequestTemplateCreator.createElement(RequestTemplateCreator.groovy:34)
at com.predic8.wstool.creator.RequestTemplateCreator$createElement.call(Unknown Source)
at com.predic8.schema.creator.SchemaCreator$createElement.call(Unknown Source)
at com.predic8.schema.Element.create(Element.groovy:54)
at com.predic8.schema.Element$create.callCurrent(Unknown Source)
at com.predic8.schema.SchemaComponent.getRequestTemplate(SchemaComponent.groovy:45)
at com.predic8.soamodel.XMLElement.getProperty(XMLElement.groovy)
at de.predic8.registry.SchemaController$_closure5.doCall(SchemaController.groovy:82)
at de.predic8.registry.SchemaController$_closure5.doCall(SchemaController.groovy)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:530)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1211)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1182)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1182)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1182)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:424)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:118)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:495)
at org.eclipse.jetty.server.session.SessionHandler.handle(SessionHandler.java:179)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:930)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:361)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:864)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:116)
at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:346)
at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:115)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1182)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1182)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1182)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1182)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1182)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:424)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:118)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:458)
at org.eclipse.jetty.server.session.SessionHandler.handle(SessionHandler.java:179)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:930)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:361)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:864)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:116)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:243)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:112)
at org.eclipse.jetty.server.Server.handle(Server.java:337)
at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:546)
at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:973)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:530)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:203)
at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:399)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:437)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:435)
at java.lang.Thread.run(Unknown Source)

bruno....@googlemail.com

unread,
Nov 16, 2012, 11:08:52 AM11/16/12
to membrane...@googlegroups.com, bruno....@googlemail.com

Thomas Bayer

unread,
Nov 20, 2012, 9:05:27 AM11/20/12
to membrane-registry
Hi,
may be it has something to do with SSL. But i think there is something
inside the WSDL or the referenced XSDs that Membrane does not
understand. Could you post the WSDL?

--
Thomas

rame...@gmail.com

unread,
Nov 22, 2012, 3:53:51 AM11/22/12
to membrane...@googlegroups.com
Hi Thomas, this is our WSDL.
<?xml version="1.0" encoding="UTF-8"?><definitions name="WebServiceName" targetNamespace="http://domgen.com/operational/services/1_0" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://domgen.com/operational/services/1_0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <types>
        <xs:schema elementFormDefault="qualified" targetNamespace="http://domgen.com/operational/services/1_0" xmlns:data="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://schemas.xmlsoap.org/wsdl/">
            <xs:include schemaLocation="./OperationalServiceTypesMessages.xsd"/>
        </xs:schema>
    </types>
    <message name="getSingleApplianceRateRequest">
        <part element="tns:SingleApplianceRate" name="parameters"/>
    </message>
    <message name="getSingleApplianceRateResponse">
        <part element="tns:SingleApplianceRateResponse" name="parameters"/>
    </message>
    <message name="singleApplianceRateFault">
        <part element="tns:SingleApplianceRateFault" name="details"/>
    </message>
    <message name="getRateServiceRequest">
        <part element="tns:RateService" name="parameters"/>
    </message>
    <message name="getRateServiceResponse">
        <part element="tns:RateServiceResponse" name="parameters"/>
    </message>
    <message name="rateServiceFault">
        <part element="tns:RateServiceFault" name="details"/>
    </message>
    <message name="getBundleRateRequest">
        <part element="tns:BundleRate" name="parameters"/>
    </message>
    <message name="getBundleRateResponse">
        <part element="tns:BundleRateResponse" name="parameters"/>
    </message>
    <message name="createWsConfpRequest">
        <part element="tns:WsConfp" name="parameters"/>
    </message>
    <message name="createWsConfpResponse">
        <part element="tns:WsConfpResponse" name="parameters"/>
    </message>
    <message name="sellingOptionsRequest">
        <part element="tns:SellingOption" name="parameters"/>
    </message>
    <message name="sellingOptionsResponse">
        <part element="tns:SellingOptionResponse" name="parameters"/>
    </message>
    <message name="createRegistrationRequest">
        <part element="tns:Registration" name="parameters"/>
    </message>
    <message name="createRegistrationResponse">
        <part element="tns:RegistrationResponse" name="parameters"/>
    </message>
    <message name="bundleRateFault">
        <part element="tns:BundleRateFault" name="details"/>
    </message>
    <message name="createPlanFault">
        <part element="tns:CreatePlanFault" name="details"/>
    </message>
    <message name="registrationFault">
        <part element="tns:RegistrationFault" name="details"/>
    </message>
    <message name="lookupAddressFault">
        <part element="tns:LookupAddressFault" name="details"/>
    </message>
    <message name="sellingOptionFault">
        <part element="tns:SellingOptionFault" name="details"/>
    </message>
    <message name="AddressLookupRequest">
        <part element="tns:LookupAddress" name="parameters"/>
    </message>
    <message name="AddressLookupResponse">
        <part element="tns:LookupAddressResponse" name="parameters"/>
    </message>
    <message name="sendEmailFault">
        <part element="tns:SendEmailFault" name="details"/>
    </message>
    <message name="SendEmail">
        <part element="tns:EmailSender" name="parameters"/>
    </message>
    <message name="SendEmailResponse">
        <part element="tns:EmailSenderResponse" name="parameters"/>
    </message>
    <message name="GetHDUpgradeMessageRequestMsg">
        <part element="tns:GetHDUpgradeMessageReq" name="parameters"/>
    </message>
    <message name="GetHDUpgradeMessageResponseMsg">
        <part element="tns:GetHDUpgradeMessageResp" name="parameters"/>
    </message>
    <message name="GetHDUpgradeMessageFault">
        <part element="tns:GetHDUpgradeMessageFault" name="details"/>
    </message>
    <message name="StampHDUpgradeMessageRequestMsg">
        <part element="tns:StampHDUpgradeMessageReq" name="parameters"/>
    </message>
    <message name="StampHDUpgradeMessageResponseMsg">
        <part element="tns:StampHDUpgradeMessageResp" name="parameters"/>
    </message>   
    <message name="StampHDUpgradeMessageFault">
        <part element="tns:StampHDUpgradeMessageFault" name="details"/>
    </message>

    <message name="ValidateIBANRequestMsg">
        <part element="tns:ValidateIBANReq" name="parameters"/>
    </message>
    <message name="ValidateIBANResponseMsg">
        <part element="tns:ValidateIBANResp" name="parameters"/>
    </message>   
    <message name="ValidateIBANFault">
        <part element="tns:ValidateIBANFault" name="details"/>
    </message>

    <message name="GetClaimRepairAuthorisedDetailsReqMsg">
        <part element="tns:GetClaimRepairAuthorisedDetailsReq" name="parameters"/>
    </message>
    <message name="GetClaimRepairAuthorisedDetailsRespMsg">
        <part element="tns:GetClaimRepairAuthorisedDetailsResp" name="parameters"/>
    </message>   
    <message name="GetClaimRepairAuthorisedDetailsFault">
        <part element="tns:GetClaimRepairAuthorisedDetailsFault" name="details"/>
    </message>
    <portType name="IOperationalService">
        <operation name="getSingleApplianceRate">
            <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">The single appliance rate service will return the rate for a single appliance type,
where it could be a single white or brown appliance, a boiler or a service (e.g.
plumbing care or PC Guru).

The context details are used to retrieve the back end configuration to determine
whether a rate can be retrieved for the appliance. The retrieved configuration
details will be used in the quote engine to retrieve a rate for the appliance.

If a client company code is supplied (umbrella) then instead of the context's
standard configuration used to retrieve a rate, the client company's configuration
are used instead.

Where the context supports accidental damage or other cover options, the service
will return rates for these additional options where available.</wsdl:documentation>
            <input message="tns:getSingleApplianceRateRequest"/>
            <output message="tns:getSingleApplianceRateResponse"/>
            <fault message="tns:singleApplianceRateFault" name="SingleApplianceRateFault"/>
        </operation>
        <operation name="getRates">
            <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/>
            <input message="tns:getRateServiceRequest"/>
            <output message="tns:getRateServiceResponse"/>
            <fault message="tns:rateServiceFault" name="RateServiceFault"/>
        </operation>
        <operation name="getBundleRate">
            <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">The service will return the best bundle rate for the combination of appliances and
context that are supplied. The bundle will be a standard bundle, rather than a pre-
configured bundle.

It is expected that there will be 1 or more appliances and the service will
determine the best bundle that can be offered and will return the rates for the
bundle.

The service return 2 lists, the first a list of appliances that belong to the bundle
and the second, the appliances that will not be included in the bundle.</wsdl:documentation>
            <input message="tns:getBundleRateRequest"/>
            <output message="tns:getBundleRateResponse"/>
            <fault message="tns:bundleRateFault" name="BundleRateFault"/>
        </operation>
        <operation name="createWsConfp">
            <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">This service will create the relevant records in the back end system and will return
plan numbers/references where appropiate. It is expected that this service will be
called only once for all the transactions in a single customer journey.

The service will handle any combination of transaction types (mailers/renewals/
quotes) and will process them.</wsdl:documentation>
            <input message="tns:createWsConfpRequest"/>
            <output message="tns:createWsConfpResponse"/>
            <fault message="tns:createPlanFault" name="CreatePlanFault"/>
        </operation>
        <operation name="getSellingOptions">
            <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">The selling option service will take a set of offers and customer details and determine
an up-sell/cross-sell option based on the details supplied. For a cross-sell, the
customer match key is used to lookup existing plans that the customer has.

The selling options currently available are:

- Sell Period of Cover
- Sell Level of Cover
- Sell Bundle

Either one of the above are returned from this service or nothing is returned.</wsdl:documentation>
            <input message="tns:sellingOptionsRequest"/>
            <output message="tns:sellingOptionsResponse"/>
            <fault message="tns:sellingOptionFault" name="SellingOptionFault"/>
        </operation>
        <operation name="createRegistration">
            <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">This service will create one or more registrations for the appliances supplied in the
request.</wsdl:documentation>
            <input message="tns:createRegistrationRequest"/>
            <output message="tns:createRegistrationResponse"/>
            <fault message="tns:registrationFault" name="RegistrationFault"/>
        </operation>
        <operation name="AddressLookup">
            <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Address service used to lookup an address using the address details supplied. This service
will use the country and channel to locate an address or a list of addresses.</wsdl:documentation>
            <input message="tns:AddressLookupRequest"/>
            <output message="tns:AddressLookupResponse"/>
            <fault message="tns:lookupAddressFault" name="LookupAddressFault"/>
        </operation>
        <operation name="SendEmail">
            <input message="tns:SendEmail"/>
            <output message="tns:SendEmailResponse"/>
            <fault message="tns:sendEmailFault" name="SendEmailFault"/>
        </operation>
        <operation name="GetHDUpgradeMessages">
            <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/>
            <input message="tns:GetHDUpgradeMessageRequestMsg"/>
            <output message="tns:GetHDUpgradeMessageResponseMsg"/>
            <fault message="tns:GetHDUpgradeMessageFault" name="GetHDUpgradeMessageFault"/>
        </operation>
        <operation name="StampHDUpgradeMessages">
            <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/>
            <input message="tns:StampHDUpgradeMessageRequestMsg"/>
            <output message="tns:StampHDUpgradeMessageResponseMsg"/>
            <fault message="tns:StampHDUpgradeMessageFault" name="StampHDUpgradeMessageFault"/>
        </operation>
         <operation name="ValidateIBAN">
            <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/>
            <input message="tns:ValidateIBANRequestMsg"/>
            <output message="tns:ValidateIBANResponseMsg"/>
            <fault message="tns:ValidateIBANFault" name="ValidateIBANFault"/>
        </operation>
        <operation name="GetClaimRepairAuthorisedDetails">
            <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
    The GetClaimRepairAuthorisedDetails service is used to retrieve any previous authorised repair details that have been
    made on the plan details. This service may retrieve more than one repair or may even return nothing.           
            </wsdl:documentation>
            <input message="tns:GetClaimRepairAuthorisedDetailsReqMsg"/>
            <output message="tns:GetClaimRepairAuthorisedDetailsRespMsg"/>
            <fault message="tns:GetClaimRepairAuthorisedDetailsFault" name="GetClaimRepairAuthorisedDetailsFault"/>
        </operation>
    </portType>
    <binding name="OperationalServiceSoapBinding" type="tns:IOperationalService">
        <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="getSingleApplianceRate">
            <soap:operation soapAction=""/>
            <input>
                <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
            <fault name="SingleApplianceRateFault">
                <soap:fault name="SingleApplianceRateFault" namespace="" use="literal"/>
            </fault>
        </operation>
        <operation name="getRates">
            <soap:operation soapAction=""/>
            <input>
                <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
            <fault name="RateServiceFault">
                <soap:fault name="RateServiceFault" namespace="" use="literal"/>
            </fault>
        </operation>
        <operation name="getBundleRate">
            <soap:operation soapAction=""/>
            <input>
                <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
            <fault name="BundleRateFault">
                <soap:fault name="BundleRateFault" namespace="" use="literal"/>
            </fault>
        </operation>
        <operation name="createWsConfp">
            <soap:operation soapAction=""/>
            <input>
                <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
            <fault name="CreatePlanFault">
                <soap:fault name="CreatePlanFault" namespace="" use="literal"/>
            </fault>
        </operation>
        <operation name="getSellingOptions">
            <soap:operation soapAction=""/>
            <input>
                <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
            <fault name="SellingOptionFault">
                <soap:fault name="SellingOptionFault" namespace="" use="literal"/>
            </fault>
        </operation>
        <operation name="createRegistration">
            <soap:operation soapAction=""/>
            <input>
                <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
            <fault name="RegistrationFault">
                <soap:fault name="RegistrationFault" namespace="" use="literal"/>
            </fault>
        </operation>
        <operation name="AddressLookup">
            <soap:operation soapAction=""/>
            <input>
                <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
            <fault name="LookupAddressFault">
                <soap:fault name="LookupAddressFault" namespace="" use="literal"/>
            </fault>
        </operation>
        <operation name="SendEmail">
            <soap:operation soapAction=""/>
            <input>
                <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
            <fault name="SendEmailFault">
                <soap:fault name="SendEmailFault" namespace="" use="literal"/>
            </fault>
        </operation>
        <operation name="GetHDUpgradeMessages">
            <soap:operation soapAction=""/>
            <input>
                <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
            <fault name="GetHDUpgradeMessageFault">
                <soap:fault name="GetHDUpgradeMessageFault" namespace="" use="literal"/>
            </fault>
        </operation>
        <operation name="StampHDUpgradeMessages">
            <soap:operation soapAction=""/>
            <input>
                <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
            <fault name="StampHDUpgradeMessageFault">
                <soap:fault name="StampHDUpgradeMessageFault" namespace="" use="literal"/>
            </fault>
        </operation>
        <operation name="ValidateIBAN">
            <soap:operation soapAction=""/>
            <input>
                <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
            <fault name="ValidateIBANFault">
                <soap:fault name="ValidateIBANFault" namespace="" use="literal"/>
            </fault>
        </operation>
        <operation name="GetClaimRepairAuthorisedDetails">
            <soap:operation soapAction=""/>
            <input>
                <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
            <fault name="GetClaimRepairAuthorisedDetailsFault">
                <soap:fault name="GetClaimRepairAuthorisedDetailsFault" namespace="" use="literal"/>
            </fault>
        </operation>       
    </binding>
    <service name="OperationalService">
        <port binding="tns:OperationalServiceSoapBinding" name="OperationalServiceSoapPort">
            <soap:address location="http://localhost:9080/opServicesWeb/OperationalService"/>
        </port>
    </service>
</definitions>
Reply all
Reply to author
Forward
0 new messages