Hi Deval,
OK.
A ref parameter is both an input and an output.
Is there anything in the mapEntryArray after you've called the
CallupdateInventory method?
Cheers
Paul Foxworthy
devalpatel wrote
>
> Hi Paul,
>
> Thanks for your reply.
>
> There is no WSDLException generated.
>
> void CallsearchHelloPerson(ref map) => Here, the type of map parameter
> is Map (ofBiz method 's return type Map).
>
> I have converted it according to the java Map type :
> //c# code
> static mapEntry makeMap(String keyString, String valString) {
>
> stdString mapKeyString = new stdString();
>
> stdString mapValString = new stdString();
>
> mapKeyString.value = keyString;
>
> mapValString.value = valString;
>
> mapKey key = new mapKey();
>
> key.stdString = mapKeyString;
>
> mapValue val = new mapValue();
>
> val.Item = mapValString;
>
> val.ItemElementName = ItemChoiceType.stdString;
>
> mapEntry entry = new mapEntry();
>
> entry.mapKey = key;
>
> entry.mapValue = val;
>
> return entry;
>
> }
>
>
> //c# code for calling ofBiz service CallupdateInventory.
>
> mapEntry[] mapEntryArray = new mapEntry[5];
>
> mapEntryArray[0] = makeMap("productId", ofbizProductid);
>
> mapEntryArray[1] = makeMap("quantity", ofbizQOH);
>
> mapEntryArray[2] = makeMap("status", "Paid");
>
> mapEntryArray[3] = makeMap("login.username", "admin");
>
> mapEntryArray[4] = makeMap("login.password", "ofbiz");
>
> ofBizInventory.CallupdateInventory(ref mapEntryArray);
>
> So, the input paramter map passed to ofbiz service is received
> successfully at ofBiz side with all key values set from c# as shown ablve.
>
> But, as you know the return of all methods in ofBiz is map so ofBiz
> returns map as result of "CallupdateInventory" api call.
>
> In C#, the return type of CallupdateInventory API is void. That also
> mystery for me that why the generated client stub classes in c# are having
> return type void?? And, the actual method name in ofBiz is
> updateInventory(), but in the generated classes of c# there isn't
> updateInventory method & its CallupdateInventory().
>
> Hope, the above details provides more clarity of the problem.
>
> Thanks,
>
> Deval
>
> ----- Original Message -----
> From: Paul Foxworthy [via OFBiz]
> To: devalpatel
> Sent: Wednesday, May 09, 2012 4:45 AM
> Subject: Re: how to use ofBiz service in .Net application?
>
>
> Hi Deval,
>
> Some of the nulls may not be a problem, if a method takes no parameters
> or returns void.
>
> What's the message from the WSDLException?
>
> Also, I noticed you mentioned earlier that your proxy in C# has
>
> void CallsearchHelloPerson(ref map)
>
> What's the type of the map parameter? Is there any value in it after you
> call OFBiz?
>
> Cheers
>
> Paul Foxworthy
>
>
> devalpatel wrote
> Hi Paul,
>
> http://localhost:8080/webtools/control/SOAPService/searchHelloPerson?wsdl
> while generating the wsdl by hitting above URL in browser,,, i have
> debug the code in public void getWSDL(Definition def, String locationURI)
> throws WSDLException{} method.
> *****DEBUG RESULT (i have make BOLD to the null values in below
> result..)
>
> ________________________________________________________________________________________
>
> (com.ibm.wsdl.DefinitionImpl) Definition: name=null
> targetNamespace=http://ofbiz.apache.org/service/
> Types:
> Message:
> name={http://ofbiz.apache.org/service/}searchHelloPersonRequest
> Part: name=map-Map
> typeName={http://ofbiz.apache.org/service/}map-Map
> Message:
> name={http://ofbiz.apache.org/service/}searchHelloPersonResponse
> Part: name=map-Map
> typeName={http://ofbiz.apache.org/service/}map-Map
> PortType:
> name={http://ofbiz.apache.org/service/}searchHelloPersonPortType
> Operation: name=searchHelloPerson
> Input: name=null
> Message:
> name={http://ofbiz.apache.org/service/}searchHelloPersonRequest
> Part: name=map-Map
> typeName={http://ofbiz.apache.org/service/}map-Map
> Output: name=null
> Message:
> name={http://ofbiz.apache.org/service/}searchHelloPersonResponse
> Part: name=map-Map
> typeName={http://ofbiz.apache.org/service/}map-Map
> Binding:
> name={http://ofbiz.apache.org/service/}searchHelloPersonSoapBinding
> PortType:
> name={http://ofbiz.apache.org/service/}searchHelloPersonPortType
> Operation: name=searchHelloPerson
> Input: name=null
> Message:
> name={http://ofbiz.apache.org/service/}searchHelloPersonRequest
> Part: name=map-Map
> typeName={http://ofbiz.apache.org/service/}map-Map
> Output: name=null
> Message:
> name={http://ofbiz.apache.org/service/}searchHelloPersonResponse
> Part: name=map-Map
> typeName={http://ofbiz.apache.org/service/}map-Map
> BindingOperation: name=searchHelloPerson
> BindingInput: name=null
> SOAPBody ({http://schemas.xmlsoap.org/wsdl/soap/}body):
> required=null
> use=literal
> encodingStyles={http://schemas.xmlsoap.org/soap/encoding/}
> namespaceURI=http://ofbiz.apache.org/service/
> BindingOutput: name=null
> SOAPBody ({http://schemas.xmlsoap.org/wsdl/soap/}body):
> required=null
> use=literal
> encodingStyles={http://schemas.xmlsoap.org/soap/encoding/}
> namespaceURI=http://ofbiz.apache.org/service/
> SOAPOperation ({http://schemas.xmlsoap.org/wsdl/soap/}operation):
> required=null
> soapActionURI=http://localhost:8080/webtools/control/SOAPService
> style=rpc
> SOAPBinding ({http://schemas.xmlsoap.org/wsdl/soap/}binding):
> required=null
> transportURI=http://schemas.xmlsoap.org/soap/http
> style=rpc
>
> ________________________________________________________________________________________
>
>
> The generated WSDL is as below :
>
>
> <wsdl:definitions targetNamespace="http://ofbiz.apache.org/service/">
> −
> <wsdl:types>
> −
> <xsd:schema targetNamespace="http://ofbiz.apache.org/service/">
> −
> <xsd:element name="std-String">
> −
> <xsd:complexType>
> <xsd:attribute name="value" type="xsd:string" use="required"/>
> </xsd:complexType>
> </xsd:element>
> −
> <xsd:element name="std-Integer">
> −
> <xsd:complexType>
> <xsd:attribute name="value" type="xsd:integer" use="required"/>
> </xsd:complexType>
> </xsd:element>
> −
> <xsd:element name="std-Long">
> −
> <xsd:complexType>
> <xsd:attribute name="value" type="xsd:long" use="required"/>
> </xsd:complexType>
> </xsd:element>
> −
> <xsd:element name="std-Float">
> −
> <xsd:complexType>
> <xsd:attribute name="value" type="xsd:float" use="required"/>
> </xsd:complexType>
> </xsd:element>
> −
> <xsd:element name="std-Double">
> −
> <xsd:complexType>
> <xsd:attribute name="value" type="xsd:double" use="required"/>
> </xsd:complexType>
> </xsd:element>
> −
> <xsd:element name="std-Boolean">
> −
> <xsd:complexType>
> <xsd:attribute name="value" type="xsd:boolean" use="required"/>
> </xsd:complexType>
> </xsd:element>
> −
> <xsd:element name="std-Locale">
> −
> <xsd:complexType>
> <xsd:attribute name="value" type="xsd:string" use="required"/>
> </xsd:complexType>
> </xsd:element>
> −
> <xsd:element name="sql-Timestamp">
> −
> <xsd:complexType>
> <xsd:attribute name="value" type="xsd:dateTime" use="required"/>
> </xsd:complexType>
> </xsd:element>
> −
> <xsd:element name="sql-Date">
> −
> <xsd:complexType>
> <xsd:attribute name="value" type="xsd:date" use="required"/>
> </xsd:complexType>
> </xsd:element>
> −
> <xsd:element name="sql-Time">
> −
> <xsd:complexType>
> <xsd:attribute name="value" type="xsd:time" use="required"/>
> </xsd:complexType>
> </xsd:element>
> <xsd:element name="col-ArrayList" type="tns:col-Collection"/>
> <xsd:element name="col-LinkedList" type="tns:col-Collection"/>
> <xsd:element name="col-Stack" type="tns:col-Collection"/>
> <xsd:element name="col-Vector" type="tns:col-Collection"/>
> <xsd:element name="col-TreeSet" type="tns:col-Collection"/>
> <xsd:element name="col-HashSet" type="tns:col-Collection"/>
> <xsd:element name="col-Collection" type="tns:col-Collection"/>
> <xsd:element name="map-TreeMap" type="tns:map-Map"/>
> <xsd:element name="map-WeakHashMap" type="tns:map-Map"/>
> <xsd:element name="map-Hashtable" type="tns:map-Map"/>
> <xsd:element name="map-Properties" type="tns:map-Map"/>
> <xsd:element name="map-HashMap" type="tns:map-Map"/>
> <xsd:element name="map-Map" type="tns:map-Map"/>
> <xsd:element name="map-Entry" type="tns:map-Entry"/>
> <xsd:element name="map-Key" type="tns:map-Key"/>
> <xsd:element name="map-Value" type="tns:map-Value"/>
> −
> <xsd:element name="eepk-" type="tns:map-Map">
> −
> <xsd:annotation>
> −
> <xsd:documentation>
> The name of element need to be appended with name of entity such as
> eepk-Product for Product entity.
> </xsd:documentation>
> </xsd:annotation>
> </xsd:element>
> −
> <xsd:element name="eeval-" type="tns:map-Map">
> −
> <xsd:annotation>
> −
> <xsd:documentation>
> The name of element need to be appended with name of entity such as
> eeval-Product for Product entity.
> </xsd:documentation>
> </xsd:annotation>
> </xsd:element>
> −
> <xsd:element name="cus-obj">
> −
> <xsd:annotation>
> −
> <xsd:documentation>
> Object content need to be in CDATA such as <cus-obj></cus-obj>
> </xsd:documentation>
> </xsd:annotation>
> </xsd:element>
> −
> <xsd:complexType name="map-Map">
> −
> <xsd:sequence>
> <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:map-Entry"/>
> </xsd:sequence>
> </xsd:complexType>
> −
> <xsd:complexType name="map-Entry">
> −
> <xsd:sequence>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:map-Key"/>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:map-Value"/>
> </xsd:sequence>
> </xsd:complexType>
> −
> <xsd:complexType name="map-Key">
> −
> <xsd:all>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:std-String"/>
> </xsd:all>
> </xsd:complexType>
> −
> <xsd:complexType name="map-Value">
> −
> <xsd:choice>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:std-String"/>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:std-Integer"/>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:std-Long"/>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:std-Float"/>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:std-Double"/>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:std-Boolean"/>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:std-Locale"/>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:sql-Timestamp"/>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:sql-Date"/>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:sql-Time"/>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:col-ArrayList"/>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:col-LinkedList"/>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:col-Stack"/>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:col-Vector"/>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:col-TreeSet"/>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:col-HashSet"/>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:col-Collection"/>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:map-HashMap"/>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:map-Properties"/>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:map-Hashtable"/>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:map-WeakHashMap"/>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:map-TreeMap"/>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:map-Map"/>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:eepk-"/>
> <xsd:element maxOccurs="1" minOccurs="1" ref="tns:eeval-"/>
> </xsd:choice>
> </xsd:complexType>
> −
> <xsd:complexType name="col-Collection">
> −
> <xsd:choice>
> <xsd:element maxOccurs="unbounded" minOccurs="0"
> ref="tns:std-String"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0"
> ref="tns:std-Integer"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:std-Long"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:std-Float"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0"
> ref="tns:std-Double"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0"
> ref="tns:std-Boolean"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0"
> ref="tns:std-Locale"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0"
> ref="tns:sql-Timestamp"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:sql-Date"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:sql-Time"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0"
> ref="tns:col-ArrayList"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0"
> ref="tns:col-LinkedList"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:col-Stack"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0"
> ref="tns:col-Vector"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0"
> ref="tns:col-TreeSet"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0"
> ref="tns:col-HashSet"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0"
> ref="tns:col-Collection"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0"
> ref="tns:map-HashMap"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0"
> ref="tns:map-Properties"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0"
> ref="tns:map-Hashtable"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0"
> ref="tns:map-WeakHashMap"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0"
> ref="tns:map-TreeMap"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:map-Map"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:eepk-"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:eeval-"/>
> </xsd:choice>
> </xsd:complexType>
> </xsd:schema>
> </wsdl:types>
> −
> <wsdl:message name="searchHelloPersonRequest">
> −
> <wsdl:part name="map-Map" type="tns:map-Map">
> −
> <wsdl:documentation>
> <attribute java-class="String" name="helloPersonId"
> namespace="http://ofbiz.apache.org/service/" optional="true"
> type="std-String"/>
> <attribute java-class="java.lang.String" name="login.username"
> namespace="http://ofbiz.apache.org/service/" optional="true"
> type="std-String"/>
> <attribute java-class="java.lang.String" name="login.password"
> namespace="http://ofbiz.apache.org/service/" optional="true"
> type="std-String"/>
> </wsdl:documentation>
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="searchHelloPersonResponse">
> −
> <wsdl:part name="map-Map" type="tns:map-Map">
> −
> <wsdl:documentation>
> <attribute java-class="Map" name="name"
> namespace="http://ofbiz.apache.org/service/" optional="true"
> type="eeval-"/>
> </wsdl:documentation>
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:portType name="searchHelloPersonPortType">
> −
> <wsdl:operation name="searchHelloPerson">
> <wsdl:input message="tns:searchHelloPersonRequest"/>
> <wsdl:output message="tns:searchHelloPersonResponse"/>
> </wsdl:operation>
> </wsdl:portType>
> −
> <wsdl:binding name="searchHelloPersonSoapBinding"
> type="tns:searchHelloPersonPortType">
> <soap:binding style="rpc"
> transport="http://schemas.xmlsoap.org/soap/http"/>
> −
> <wsdl:operation name="searchHelloPerson">
> <soap:operation
> soapAction="http://localhost:8080/webtools/control/SOAPService"
> style="rpc"/>
> −
> <wsdl:input>
> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> namespace="http://ofbiz.apache.org/service/" use="literal"/>
> </wsdl:input>
> −
> <wsdl:output>
> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> namespace="http://ofbiz.apache.org/service/" use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> </wsdl:binding>
> −
> <wsdl:service name="searchHelloPerson">
> −
> <wsdl:port binding="tns:searchHelloPersonSoapBinding"
> name="searchHelloPersonPort">
> <soap:address
> location="http://localhost:8080/webtools/control/SOAPService"/>
> </wsdl:port>
> </wsdl:service>
> </wsdl:definitions>
>
> So, is there any problem in WSDL generation or generated WSDL or any
> changes reauired in ofbiz ModelService.java????
> --
> Coherent Software Australia Pty Ltd
> http://www.cohsoft.com.au/
>
> Bonsai ERP, the all-inclusive ERP system
> http://www.bonsaierp.com.au/
>
>
>
>
> ------------------------------------------------------------------------------
>
> If you reply to this email, your message will be added to the discussion
> below:
>
> http://ofbiz.135035.n4.nabble.com/Re-how-to-use-ofBiz-service-in-Net-application-tp4580144p4619013.html
>
> To unsubscribe from Re: how to use ofBiz service in .Net application?,
> click here.
> NAML
>
-----
--
Coherent Software Australia Pty Ltd
http://www.cohsoft.com.au/
Bonsai ERP, the all-inclusive ERP system
http://www.bonsaierp.com.au/
--
View this message in context:
http://ofbiz.135035.n4.nabble.com/Re-how-to-use-ofBiz-service-in-Net-application-tp4580144p4621981.html
Sent from the OFBiz - User mailing list archive at Nabble.com.