You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Martin Gainty <mg...@hotmail.com> on 2007/05/02 22:53:21 UTC

Re: axis 2 error, associated Fault container is not available (part 2)

(Part 2)

  public static AxisService createClientSideAxisService(Definition wsdlDefinition,
                                                          QName wsdlServiceName,
                                                          String portName,
                                                          Options options) throws AxisFault {
        WSDL11ToAxisServiceBuilder serviceBuilder =
                new WSDL11ToAxisServiceBuilder(wsdlDefinition, wsdlServiceName, portName);
        serviceBuilder.setServerSide(false);
        AxisService axisService = serviceBuilder.populateService();
        options.setTo(new EndpointReference(axisService.getEndpoint()));
        options.setSoapVersionURI(axisService.getSoapNsUri());
        return axisService;
    }

and look at the treatment from org.apache.axis2.wsdl.codegen.emitter.AxisServiceBasedMultiLanguageEmitter
      String stubName = localPart + STUB_SUFFIX;
        Document doc = getEmptyDocument();
        Element rootElement = doc.createElement("class");

        addAttribute(doc, "package", packageName, rootElement);
        addAttribute(doc, "name", stubName, rootElement);
        addAttribute(doc, "servicename", localPart, rootElement);
        //The target nemespace is added as the namespace for this service
        addAttribute(doc, "namespace", axisService.getTargetNamespace(), rootElement);
        addAttribute(doc, "interfaceName", localPart, rootElement);
        addAttribute(doc, "callbackname", localPart + CALL_BACK_HANDLER_SUFFIX, rootElement);

        // add the wrap classes flag
        if (codeGenConfiguration.isPackClasses()) {
            addAttribute(doc, "wrapped", "yes", rootElement);
        }

        // add SOAP version
        addSoapVersion(doc, rootElement);

my advice is to re-implement your seebeyond service in Axis 1.x
I assume they provided a wsdl ????

Martin
This email message and any files transmitted with it contain confidential
information intended only for the person(s) to whom this email message is
addressed.  If you have received this email message in error, please notify
the sender immediately by telephone or email and destroy the original
message without making a copy.  Thank you.

  ----- Original Message ----- 
  From: Martin Gainty 
  To: axis-user@ws.apache.org 
  Sent: Wednesday, May 02, 2007 4:48 PM
  Subject: Re: axis 2 error, associated Fault container is not available


  It has something to do with SOAPVersion 
  ftp://www6.software.ibm.com/software/developer/library/ws-reliablemessaging200403.pdf
  the good news is that if you're still using Axis 1.x you can override the SingleSOAPVersion attribute with the correct version(SOAP 1.1 version that wont produce these Fault Container errors)

  the not so good news is that it seems that functionality got tossed when moving to 2.x
  here is an excerpt from org.apache.axis2.description.AxisService
  This email message and any files transmitted with it contain confidential
  information intended only for the person(s) to whom this email message is
  addressed.  If you have received this email message in error, please notify
  the sender immediately by telephone or email and destroy the original
  message without making a copy.  Thank you.

    ----- Original Message ----- 
    From: Ashish Kulkarni 
    To: axis-user@ws.apache.org 
    Sent: Wednesday, May 02, 2007 3:40 PM
    Subject: axis 2 error, associated Fault container is not available


    Hi
    I have a WSDL file, and i created all the java classes using WSDL2Java, and was writing a client program as below,
    MapsLimsTransactionsLocator locator = new MapsLimsTransactionsLocator();
    MapsLimsTransactionsBindingStub stub = new MapsLimsTransactionsBindingStub(new URL( locator.getMapsLimsTransactionsPortAddress()), (Service)locator.getCall());
    LimsResponse response = stub.syncPurchaseItemIn(request);

    But i am getting the following error, any ideas what may be missing

    URL http://MPPGMS11:30901/MapsLimsTransactions/MapsLimsTransactionsPort
    AxisFault
     faultCode: { http://schemas.xmlsoap.org/soap/envelope/}Server
     faultSubcode: 
     faultString: Internal server runtime exception
     faultActor: 
     faultNode: 
     faultDetail: 
        { http://seebeyond/com/xsddefined/FaultMessages}SOAPFaultMessage:<ans1:Fault><faultcode xmlns="">SERVER_ERROR</faultcode><faultstring xmlns="">root cause:com.stc.otd.runtime.UnmarshalException : error: Expected element TransactionRecord@http://www.pfizer.com/maplims/ at the end of the content in element Details@http://www.pfizer.com/maplims/ error: Expected element TransactionRecord@http://www.pfizer.com/maplims/ at the end of the content in element Details@http://www.pfizer.com/maplims/   and the associated Fault container is not available</faultstring><faultactor xmlns="">wsserver</faultactor><detail xmlns="">root cause:com.stc.otd.runtime.UnmarshalException : error: Expected element TransactionRecord@http://www.pfizer.com/maplims/ at the end of the content in element Details@http://www.pfizer.com/maplims/ error: Expected element TransactionRecord@http://www.pfizer.com/maplims/ at the end of the content in element Details@http://www.pfizer.com/maplims/   and the associated Fault container is not available</detail></ans1:Fault>

    Internal server runtime exception
        at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222) 
        at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
        at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)


    Ashish