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
--
View this message in context:
http://ofbiz.135035.n4.nabble.com/Re-how-to-use-ofBiz-service-in-Net-application-tp4580144p4619935.html
Sent from the OFBiz - User mailing list archive at Nabble.com.