1. #41
    Ext User brumby007's Avatar
    Join Date
    Dec 2007
    Posts
    150
    Vote Rating
    0
    brumby007 is on a distinguished road

      0  

    Default


    Hi,Sierk,i just put your example in my apache server's root folder.and the wsdl file is just in the example you offered which named service.wsdl.
    the wsdl file is :
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <s0:definitions name="CustomerServiceDefinitions" targetNamespace="http://services.local/" xmlns:s0="http://schemas.xmlsoap.org/wsdl/" xmlns:s1="http://services.local/" xmlns:s2="http://schemas.xmlsoap.org/wsdl/soap/">
      <s0:types>
        <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://services.local/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
          <xs:element name="RetrieveCustomerDetails">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Customer" type="ser:CustomerType" xmlns:ser="<A href="http://services.local/"/">http://services.local/"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="RetrieveCustomerDetailsResponse">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Customer" type="ser:CustomerType" xmlns:ser="<A href="http://services.local/"/">http://services.local/"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="CreateCustomer">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Customer" type="ser:CustomerType" xmlns:ser="<A href="http://services.local/"/">http://services.local/"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="CreateCustomerResponse">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Customer" type="ser:CustomerType" xmlns:ser="<A href="http://services.local/"/">http://services.local/"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="FindCustomer">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="CustomerSearchCriteria" type="ser:CustomerSearchType" xmlns:ser="<A href="http://services.local/"/">http://services.local/"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="FindCustomerResponse">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Customers" type="ser:CustomersType" xmlns:ser="<A href="http://services.local/"/">http://services.local/"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="ModifyCustomerAddresses">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Customer" type="ser:CustomerType" xmlns:ser="<A href="http://services.local/"/">http://services.local/"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="ModifyCustomerAddressesResponse">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Customer" type="ser:CustomerType" xmlns:ser="<A href="http://services.local/"/">http://services.local/"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="ModifyCustomerContactPerson">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Customer" type="ser:CustomerType" xmlns:ser="<A href="http://services.local/"/">http://services.local/"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="ModifyCustomerContactPersonResponse">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Customer" type="ser:CustomerType" xmlns:ser="<A href="http://services.local/"/">http://services.local/"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="CreateCustomerContactPerson">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Customer" type="ser:CustomerType" xmlns:ser="<A href="http://services.local/"/">http://services.local/"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="CreateCustomerContactPersonResponse">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Customer" type="ser:CustomerType" xmlns:ser="<A href="http://services.local/"/">http://services.local/"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="ModifyCustomerDetails">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Customer" type="ser:CustomerType" xmlns:ser="<A href="http://services.local/"/">http://services.local/"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="ModifyCustomerDetailsResponse">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Customer" type="ser:CustomerType" xmlns:ser="<A href="http://services.local/"/">http://services.local/"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="CreateCustomerAddresses">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Customer" type="ser:CustomerType" xmlns:ser="<A href="http://services.local/"/">http://services.local/"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="CreateCustomerAddressesResponse">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Customer" type="ser:CustomerType" xmlns:ser="<A href="http://services.local/"/">http://services.local/"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:schema>
      </s0:types>
      <s0:message name="RetrieveCustomerDetails">
        <s0:part element="s1:RetrieveCustomerDetails" name="parameters"/>
      </s0:message>
      <s0:message name="RetrieveCustomerDetailsResponse">
        <s0:part element="s1:RetrieveCustomerDetailsResponse" name="parameters"/>
      </s0:message>
      <s0:message name="CreateCustomer">
        <s0:part element="s1:CreateCustomer" name="parameters"/>
      </s0:message>
      <s0:message name="CreateCustomerResponse">
        <s0:part element="s1:CreateCustomerResponse" name="parameters"/>
      </s0:message>
      <s0:message name="FindCustomer">
        <s0:part element="s1:FindCustomer" name="parameters"/>
      </s0:message>
      <s0:message name="FindCustomerResponse">
        <s0:part element="s1:FindCustomerResponse" name="parameters"/>
      </s0:message>
      <s0:message name="ModifyCustomerAddresses">
        <s0:part element="s1:ModifyCustomerAddresses" name="parameters"/>
      </s0:message>
      <s0:message name="ModifyCustomerAddressesResponse">
        <s0:part element="s1:ModifyCustomerAddressesResponse" name="parameters"/>
      </s0:message>
      <s0:message name="ModifyCustomerContactPerson">
        <s0:part element="s1:ModifyCustomerContactPerson" name="parameters"/>
      </s0:message>
      <s0:message name="ModifyCustomerContactPersonResponse">
        <s0:part element="s1:ModifyCustomerContactPersonResponse" name="parameters"/>
      </s0:message>
      <s0:message name="CreateCustomerContactPerson">
        <s0:part element="s1:CreateCustomerContactPerson" name="parameters"/>
      </s0:message>
      <s0:message name="CreateCustomerContactPersonResponse">
        <s0:part element="s1:CreateCustomerContactPersonResponse" name="parameters"/>
      </s0:message>
      <s0:message name="ModifyCustomerDetails">
        <s0:part element="s1:ModifyCustomerDetails" name="parameters"/>
      </s0:message>
      <s0:message name="ModifyCustomerDetailsResponse">
        <s0:part element="s1:ModifyCustomerDetailsResponse" name="parameters"/>
      </s0:message>
      <s0:message name="CreateCustomerAddresses">
        <s0:part element="s1:CreateCustomerAddresses" name="parameters"/>
      </s0:message>
      <s0:message name="CreateCustomerAddressesResponse">
        <s0:part element="s1:CreateCustomerAddressesResponse" name="parameters"/>
      </s0:message>
      <s0:portType name="Customer">
        <s0:operation name="RetrieveCustomerDetails" parameterOrder="parameters">
          <s0:input message="s1:RetrieveCustomerDetails"/>
          <s0:output message="s1:RetrieveCustomerDetailsResponse"/>
        </s0:operation>
        <s0:operation name="CreateCustomer" parameterOrder="parameters">
          <s0:input message="s1:CreateCustomer"/>
          <s0:output message="s1:CreateCustomerResponse"/>
        </s0:operation>
        <s0:operation name="FindCustomer" parameterOrder="parameters">
          <s0:input message="s1:FindCustomer"/>
          <s0:output message="s1:FindCustomerResponse"/>
        </s0:operation>
        <s0:operation name="ModifyCustomerAddresses" parameterOrder="parameters">
          <s0:input message="s1:ModifyCustomerAddresses"/>
          <s0:output message="s1:ModifyCustomerAddressesResponse"/>
        </s0:operation>
        <s0:operation name="ModifyCustomerContactPerson" parameterOrder="parameters">
          <s0:input message="s1:ModifyCustomerContactPerson"/>
          <s0:output message="s1:ModifyCustomerContactPersonResponse"/>
        </s0:operation>
        <s0:operation name="CreateCustomerContactPerson" parameterOrder="parameters">
          <s0:input message="s1:CreateCustomerContactPerson"/>
          <s0:output message="s1:CreateCustomerContactPersonResponse"/>
        </s0:operation>
        <s0:operation name="ModifyCustomerDetails" parameterOrder="parameters">
          <s0:input message="s1:ModifyCustomerDetails"/>
          <s0:output message="s1:ModifyCustomerDetailsResponse"/>
        </s0:operation>
        <s0:operation name="CreateCustomerAddresses" parameterOrder="parameters">
          <s0:input message="s1:CreateCustomerAddresses"/>
          <s0:output message="s1:CreateCustomerAddressesResponse"/>
        </s0:operation>
      </s0:portType>
      <s0:binding name="CustomerServiceSoapBinding" type="s1:Customer">
        <s2:binding style="document" transport="<A href="http://schemas.xmlsoap.org/soap/http"/">http://schemas.xmlsoap.org/soap/http"/>
        <s0:operation name="RetrieveCustomerDetails">
          <s2:operation soapAction="" style="document"/>
          <s0:input>
            <s2:body parts="parameters" use="literal"/>
          </s0:input>
          <s0:output>
            <s2:body parts="parameters" use="literal"/>
          </s0:output>
        </s0:operation>
        <s0:operation name="CreateCustomer">
          <s2:operation soapAction="" style="document"/>
          <s0:input>
            <s2:body parts="parameters" use="literal"/>
          </s0:input>
          <s0:output>
            <s2:body parts="parameters" use="literal"/>
          </s0:output>
        </s0:operation>
        <s0:operation name="FindCustomer">
          <s2:operation soapAction="" style="document"/>
          <s0:input>
            <s2:body parts="parameters" use="literal"/>
          </s0:input>
          <s0:output>
            <s2:body parts="parameters" use="literal"/>
          </s0:output>
        </s0:operation>
        <s0:operation name="ModifyCustomerAddresses">
          <s2:operation soapAction="" style="document"/>
          <s0:input>
            <s2:body parts="parameters" use="literal"/>
          </s0:input>
          <s0:output>
            <s2:body parts="parameters" use="literal"/>
          </s0:output>
        </s0:operation>
        <s0:operation name="ModifyCustomerContactPerson">
          <s2:operation soapAction="" style="document"/>
          <s0:input>
            <s2:body parts="parameters" use="literal"/>
          </s0:input>
          <s0:output>
            <s2:body parts="parameters" use="literal"/>
          </s0:output>
        </s0:operation>
        <s0:operation name="CreateCustomerContactPerson">
          <s2:operation soapAction="" style="document"/>
          <s0:input>
            <s2:body parts="parameters" use="literal"/>
          </s0:input>
          <s0:output>
            <s2:body parts="parameters" use="literal"/>
          </s0:output>
        </s0:operation>
        <s0:operation name="ModifyCustomerDetails">
          <s2:operation soapAction="" style="document"/>
          <s0:input>
            <s2:body parts="parameters" use="literal"/>
          </s0:input>
          <s0:output>
            <s2:body parts="parameters" use="literal"/>
          </s0:output>
        </s0:operation>
        <s0:operation name="CreateCustomerAddresses">
          <s2:operation soapAction="" style="document"/>
          <s0:input>
            <s2:body parts="parameters" use="literal"/>
          </s0:input>
          <s0:output>
            <s2:body parts="parameters" use="literal"/>
          </s0:output>
        </s0:operation>
      </s0:binding>
      <s0:service name="CustomerServiceSoapBindingQSService">
        <s0:port binding="s1:CustomerServiceSoapBinding" name="CustomerServiceSoapBindingQSPort">
          <s2:address location="<A href="http://bcota03.nuon.local:5300/sierk"/">http://bcota03.nuon.local:5300/sierk"/>
        </s0:port>
      </s0:service>
      
    </s0:definitions>
    Is there anything wrong?

  2. #42
    Ext User
    Join Date
    Apr 2008
    Posts
    12
    Vote Rating
    0
    addphil is on a distinguished road

      0  

    Default Url Parameter

    Url Parameter


    Hi,


    * The parameters sent to the POST are:
    - _dc = 1205342452429
    - undefined = (EMPTY) ?

    Obviously it is a SERVER error (500)... any ideas on why this could be happening?
    I don't know if this issue has already been resolved, but I post this anyway.

    I found that the axis implementation I use, will not reply to SOAP calls if any URL Parameters are passed.

    I changed the Ajax.request Call in Ext.ux.SOAP.js to:
    Code:
     Ext.Ajax.request({
                url: this.url,
                callback: this.loadResponse,
                xmlData : xml,
                scope: this,
                    extraParams: ' ',
                     params: ' '
              });
    This solved the problem for me, although it removes some functionality.
    Last edited by mystix; 14 Apr 2008 at 2:17 AM. Reason: use [code][/code] tags

  3. #43
    Ext User
    Join Date
    May 2008
    Location
    Suffolk UK
    Posts
    15
    Vote Rating
    0
    sneddo is on a distinguished road

      0  

    Default


    Hello all, Im having what seems like a really stupid problem.

    I can not get my data to go into the store.. when I inspect the dom my data is in my reader. my code is as follows:

    Code:
    Ext.onReady(function(){
      Ext.namespace('Soap');
      Soap.o = {
    
        wsproxy : "http://localhost:1994/webservice/messagingservice.asmx",
        url : "http://localhost:1994/webservice/messagingservice.asmx",
       
        disableCaching: false,
        
        method : "GetNewMessages",
        
        
        params : [{ value : '1',
                    name : 'param1'
                 }]
    
      }
    
      Soap.proxy = new Ext.ux.soap.SoapProxy(Soap.o);
    
      Soap.reader = new Ext.ux.soap.SoapReader(
                 ['Content', 'RecipientId', 'SenderId', 'EventId', 'MessageId']
               )
    
    
        Soap.store = new Ext.data.Store({
        proxy: Soap.proxy,
        reader: Soap.reader
    
      });
    
      Soap.store.load(); 
      
       var grid = new Ext.grid.GridPanel({       
            store: Soap.store,
            columns: [
                {header: "cont", width: 135, dataIndex: 'Content', sortable: true},
                {header: "Recipient", width: 80, dataIndex: 'RecipientId', sortable: true},
                {header: "sender", width: 110, dataIndex: 'SenderId', sortable: true},
                {header: "champ event id", width: 75, dataIndex: 'ChampionshipSeasonEventId', sortable: true}
            ],
            renderTo:'rightBottom',
            width:430,
            height:180
        });
    
    });
    Can anyone see a blatant error in my reader? the columns declared in my reader are all my columns that are returned my the webservice.

    ##### Update #####

    I have found that the above works in FF2 but NOT FF3 and IE6 or 7.

    Is it known issue that this little library only works in FF2?? or have I made a mistake in my code? I have edited the SoapProxy.js to be like this

    Code:
     /*
         * Private method thats builds an XML envelope
         */
        getXmlEnvelope : function(method, params, namespaces) {
            var soapHeaderBody = "xmlns='http://messaging.mysite.com/'";
    	    var paramxml = "";
    	        for (i = 0; i < Soap.o.params.length; i++){
    	            paramxml = paramxml + "<" + Soap.o.params[i].name + ">" + Soap.o.params[i].value + "</" + Soap.o.params[i].name + ">";
    	        }
        	var sr = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
    				 "<soap12:Envelope " +
    				 "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " +
    				 "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " +
    				 "xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">" +
    				 "<soap12:Body>" +
    
    		"<" + this.method + " " + soapHeaderBody + ">" +
    		paramxml +
    		"</" + this.method + ">" +
    		"</soap12:Body></soap12:Envelope>";
    		return sr;    
        },
    would the changes I have made there broken things ?? I do not think that they would have.

    Thank you,

  4. #44
    Ext User
    Join Date
    May 2008
    Location
    Suffolk UK
    Posts
    15
    Vote Rating
    0
    sneddo is on a distinguished road

      0  

    Default


    After stepping through the code several times using Visual studio, this is what I can see is happening:

    In the parseSoapRequest method (shown below), req.responseXML is not poulated in ie7, ie6 or FF3. ( it works in FF2). req.responseText does contain the correct xml though. It's as though its failing to parse my xml in these browsers. I have listed my xml below as well.
    Does anyone have any ideas why this may be the case?
    Code:
    parseSoapRequest: function(req) {
            var o = null;
            var nd = this.getElementsByTagName(req.responseXML, this.method + "Response");
        if(nd.length == 0) {
                if(req.responseXML.getElementsByTagName("faultcode").length > 0) {
                    return new Error(500, req.responseXML.getElementsByTagName("faultstring")[0].childNodes[0].nodeValue);
                }
            } else 
                o = this.node2object(nd[0]);
            return o;
        },
    The xml that is returned:
    Code:
    <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><GetNewMessagesResponse xmlns="http://xxx.com/"><GetNewMessagesResult><Message><ChampionshipSeasonEventId>1</ChampionshipSeasonEventId><MessageId>3</MessageId><Content>hello lee</Content><RecipientId>c99d3b96-2efc-43e3-9ddb-fa12aaad5009</RecipientId><SenderId>9c61fa7a-3e2e-42d3-a10a-806b352e03fe</SenderId></Message><Message><ChampionshipSeasonEventId>1</ChampionshipSeasonEventId><MessageId>4</MessageId><Content>saa</Content><RecipientId>c99d3b96-2efc-43e3-9ddb-fa12aaad5009</RecipientId><SenderId>9c61fa7a-3e2e-42d3-a10a-806b352e03fe</SenderId></Message></GetNewMessagesResult></GetNewMessagesResponse></soap:Body></soap:Envelope>
    Last edited by sneddo; 31 Jul 2008 at 1:19 AM. Reason: post code in [code][/code] tags. refer to http://extjs.com/forum/misc.php?do=bbcode

  5. #45
    Ext User
    Join Date
    Apr 2008
    Posts
    12
    Vote Rating
    0
    addphil is on a distinguished road

      0  

    Default


    Hi,

    im using the SOAP Package along with WebObjects Axis Server and I am very happy with it.

    I had to patch the following method to get it working with IE:

    Code:
    Ext.ux.soap.SoapReader.prototype.getElementsByTagName = function(aDocument, tagName) 
    {
    	try{
    		try {
            	return aDocument.selectNodes(".//*[local-name()=\""+ tagName +"\"]");
        	}
        	catch (anException) {
       			var searchResult =aDocument.evaluate(".//*[local-name()=\""+ tagName +"\"]", aDocument, null, XPathResult.ANY_TYPE, null);
      			return new Array(searchResult.iterateNext());
        	}
        }catch(anotherException)
        {
    		// Had to do this quick and dirty for my purposes:
    		// return aDocument.getElementsByTagName("soapenv:"+tagName);
     
                  // This should be more general
           return aDocument.getElementsByTagName(tagName);
        }
    }

  6. #46
    Ext User
    Join Date
    Nov 2008
    Posts
    1
    Vote Rating
    0
    sam.wang is on a distinguished road

      0  

    Default


    This is a good tool for call webservice by Ext,
    but, can everybody give me a finally version?

    Email: BinB.Wang@ge.com

    thanks

  7. #47
    Ext User wayne_o's Avatar
    Join Date
    Apr 2007
    Posts
    85
    Vote Rating
    0
    wayne_o is on a distinguished road

      0  

    Default Ext.ux.data.soap.WsdlContainer.loadWsdlCallback issue

    Ext.ux.data.soap.WsdlContainer.loadWsdlCallback issue


    Hi

    This - when it works - will be every ExtJs/.NET devs dream!

    I'm having an issue when it's parsing the WSDL on:

    Code:
    Ext.ux.data.soap.WsdlContainer.loadWsdlCallback
    Specifically

    Code:
     namespaces.push(xml.getElementsByTagName(tagname)[0].getAttribute("targetNamespace"));
    My WSDL looks like the following:

    Code:
    <?xml version="1.0"?>
    <wsdl:definitions 
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
    xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" 
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" 
    xmlns:tns="http://tempuri.org/" xmlns:s="http://www.w3.org/2001/XMLSchema" 
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" 
    xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" 
    targetNamespace="http://tempuri.org/" 
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
    	<wsdl:types>
    		<s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
    			<s:element name="GetHierarchyTopLevel">
    				<s:complexType/>
    			</s:element>
    [...]
    I have no xsdchema - is there anyone who has this workign with .NET and has overcome this?

    w://

  8. #48
    Sencha User
    Join Date
    Aug 2012
    Posts
    1
    Vote Rating
    0
    arpitnetserv is on a distinguished road

      0  

    Default


    I am new to Sencha Touch 2.x App development.

    Please help me using SoapExt.zip in my project to consume a web service.
    Thanks in Advance!

  9. #49
    Sencha User
    Join Date
    Sep 2012
    Posts
    3
    Vote Rating
    0
    jyotis017 is on a distinguished road

      0  

    Default


    I m trying out with this code. It is giving me error - Result of Expression 'Ext.Data' is not an object in SoapReader.js, SoapConnection.js and SoapProxy.js.
    Why so?

  10. #50
    Sencha User
    Join Date
    Sep 2012
    Posts
    3
    Vote Rating
    0
    jyotis017 is on a distinguished road

      0  

    Default SoapExt

    SoapExt


    Along with these .js file i need to use any other api or library? as it is showing refernce error of 'Ext' variable not recognised.
    Please help how to use these .js

    Thanx.