473,725 Members | 2,281 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

invoke a webservice with nillable value types

hi ng,

i try to invoke a webservice-method with an filter-object, that
contains value types. if i donīt want to filter the return value of
the method, i have to pass a new instance of the filter-object without
setting any properties. but the value type-properties canīt be null
and the filter is set to 0 (int) or false (bool).
therefore i did implement the propertySpecifi ed-pattern like this:

[System.Xml.Seri alization.SoapT ypeAttribute("S earchCriteria",
"http://criteria.xxx.yy y.zzz.de")]
public class SearchCriteria {

/// <remarks/>
public string matchcode;

/// <remarks/>
public string name;

/// <remarks/>
public int parteityp;

/// <remarks/>
[System.Xml.Seri alization.SoapI gnore]
public bool parteitypSpecif ied;

/// <remarks/>
public bool aktiv;

/// <remarks/>
[System.Xml.Seri alization.SoapI gnore]
public bool aktivSpecified;
}

1.question:
is it possible to autogenerate this pattern for nillable properties
with wsdl.exe (or similar), i had to do this manually.

2.question:
without the xxxSpecified-properties, the application works great, the
compiler doesnīt report any errors.
but with this Specified-pattern, an error occurs when instantiating
the service-object like this:

SearchCriteria mSearchCriteria = new SearchCriteria( );
//here the error occurs
mFindBDService = new FindBDService() ;
objResult = mFindBDService. find(mSearchCri teria);

the error:
exception: System.IO.FileN otFoundExceptio n
msg: File- or Assemblyname '4t-43ufl.dll' or a dependency not found.
src: mscorlib

the name of dll changes at every call.

if i try to serialize the SearchCriteria-class beyond the
webservice-proxy, no error occurs. the xml-serializer works as
expected, the value types wonīt serialized if the
xxxSpecified-property is set to false, the xxxSecified-properties will
ignored by the xmlserializer.

i found only one thread in ng, that handles this problem, but without
solution:
http://groups.google.de/groups?hl=de...3DN%26tab%3Dwg

iīm running out of ideas, hope somebody can help!

regards,

stephan
Nov 21 '05 #1
7 5402
Hi Stephan,

In general, it is not yet valid to pass nill XML values for value types.
It is supported to supress serialization of properties using the Specified
pattern, as you have uncovered.

The construct <xs:element name="foo" nillable="true" type="xs:int" /> is
not supported in the framework. The right way to encode this schema for
cross platform compatibility is <xs:element name="foo" minOccurs="0"
type="xs:int"/>. What this means is that the parameter is _optional_, but
not _nillable_.

If you use a tool such as XsdObjectGen.ex e, then this optional pattern is
automatically generated for you from your schema - this assumes you start
with a schema however. If you are hand coding your classes, you have to
control the fooSpecified boolean yourself.

I hope this helps

Dan Rogers
Microsoft Corporation
--------------------
From: ek****@web.de (stephan querengaesser)
Newsgroups: microsoft.publi c.dotnet.framew ork.webservices
Subject: invoke a webservice with nillable value types
Date: 1 Dec 2004 05:25:04 -0800
Organization: http://groups.google.com
Lines: 71
Message-ID: <37************ **************@ posting.google. com>
NNTP-Posting-Host: 217.80.170.162
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: posting.google. com 1101907505 8371 127.0.0.1 (1 Dec 2004 13:25:05
GMT)
X-Complaints-To: gr**********@go ogle.com
NNTP-Posting-Date: Wed, 1 Dec 2004 13:25:05 +0000 (UTC)
Path:
cpmsftngxa10.ph x.gbl!TK2MSFTFE ED01.phx.gbl!TK 2MSFTNGP08.phx. gbl!newsfeed00. s
ul.t-online.de!t-online.de!news. glorb.com!postn ews.google.com! not-for-mail
Xref: cpmsftngxa10.ph x.gbl
microsoft.publi c.dotnet.framew ork.webservices :7716
X-Tomcat-NG: microsoft.publi c.dotnet.framew ork.webservices

hi ng,

i try to invoke a webservice-method with an filter-object, that
contains value types. if i donīt want to filter the return value of
the method, i have to pass a new instance of the filter-object without
setting any properties. but the value type-properties canīt be null
and the filter is set to 0 (int) or false (bool).
therefore i did implement the propertySpecifi ed-pattern like this:

[System.Xml.Seri alization.SoapT ypeAttribute("S earchCriteria",
"http://criteria.xxx.yy y.zzz.de")]
public class SearchCriteria {

/// <remarks/>
public string matchcode;

/// <remarks/>
public string name;

/// <remarks/>
public int parteityp;

/// <remarks/>
[System.Xml.Seri alization.SoapI gnore]
public bool parteitypSpecif ied;

/// <remarks/>
public bool aktiv;

/// <remarks/>
[System.Xml.Seri alization.SoapI gnore]
public bool aktivSpecified;
}

1.question:
is it possible to autogenerate this pattern for nillable properties
with wsdl.exe (or similar), i had to do this manually.

2.question:
without the xxxSpecified-properties, the application works great, the
compiler doesnīt report any errors.
but with this Specified-pattern, an error occurs when instantiating
the service-object like this:

SearchCriteria mSearchCriteria = new SearchCriteria( );
//here the error occurs
mFindBDService = new FindBDService() ;
objResult = mFindBDService. find(mSearchCri teria);

the error:
exception: System.IO.FileN otFoundExceptio n
msg: File- or Assemblyname '4t-43ufl.dll' or a dependency not found.
src: mscorlib

the name of dll changes at every call.

if i try to serialize the SearchCriteria-class beyond the
webservice-proxy, no error occurs. the xml-serializer works as
expected, the value types wonīt serialized if the
xxxSpecified-property is set to false, the xxxSecified-properties will
ignored by the xmlserializer.

i found only one thread in ng, that handles this problem, but without
solution:
http://groups.google.de/groups?hl=de...250430.5799334
f%40posting.goo gle.com&rnum=1& prev=/groups%3Fq%3DCa lling%2520a%252 0web%2520s
ervice%2520with %2520nillable%2 520Value%2520Ty pes%26hl%3Dde%2 6lr%3D%26sa%3DN %
26tab%3Dwg

iīm running out of ideas, hope somebody can help!

regards,

stephan

Nov 21 '05 #2
hi dan,
thanks for your reply.
the problem still exists. please see below!
In general, it is not yet valid to pass nill XML values for value types.It is supported to supress serialization of properties using the Specifiedpattern, as you have uncovered.
iīm on the right way. ;-)
The construct <xs:element name="foo" nillable="true" type="xs:int" /> isnot supported in the framework. The right way to encode this schema forcross platform compatibility is <xs:element name="foo" minOccurs="0"
type="xs:int "/>. What this means is that the parameter is _optional_, butnot _nillable_.
If you use a tool such as XsdObjectGen.ex e, then this optional pattern isautomaticall y generated for you from your schema - this assumes you startwith a schema however.


ifīve changed the schema:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefa ult="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexTy pe name="ParteiSea rchCriteria">
<xs:sequence>
<xs:element name="matchcode " minOccurs="0" type="xs:string "/>
<xs:element name="datum" minOccurs="0" type="xs:string "/>
<xs:element name="name" minOccurs="0" type="xs:string "/>
<xs:element name="parteityp " minOccurs="0" type="xs:int"/>
<xs:element name="aktiv" minOccurs="0" type="xs:boolea n"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
then iīve built this structure with your XsdObjectGen.ex e. i`ve
swapped the structure with the old, mentioned in my first posting. the
structure is in the main-class of the webservice-proxy:

[System.Diagnost ics.DebuggerSte pThroughAttribu te()]
[System.Componen tModel.Designer CategoryAttribu te("code")]
[System.Web.Serv ices.WebService BindingAttribut e(Name="FindBDI mplSoapBinding" ,
Namespace="http ://find.xxx.yy.zz" )]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(Validat ionError))]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(BDfunct ionException))]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(VO))]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(VOPage) )]
public class FindBDImplServi ce :
System.Web.Serv ices.Protocols. SoapHttpClientP rotocol {

/// <summary>Zugrif fspunkt des Webservices</summary>
public const string EndPoint =
"http://xx.yy.zz.servic es/FindBDImpl";
/// <remarks/>
public FindBDImplServi ce() {
this.Url = EndPoint;
}

/// <remarks/>
[System.Web.Serv ices.Protocols. SoapRpcMethodAt tribute("",
RequestNamespac e="http://find.xxx.yy.zz" ,
ResponseNamespa ce="http://find.xxx.yy.zz" )]
[return: System.Xml.Seri alization.SoapE lementAttribute ("findReturn ")]
public VOPage find(ParteiSear chCriteria parteiSearch, int
offset, int limit) {
object[] results = this.Invoke("fi nd", new object[] {
parteiSearch,
offset,
limit});
return ((ParteiVOPage) (results[0]));
}

[XmlType(TypeNam e="ParteiSearch Criteria"),XmlR oot,Serializabl e]
[EditorBrowsable (EditorBrowsabl eState.Advanced )]
public class ParteiSearchCri teria {

[XmlElement(Elem entName="matchc ode",IsNullable =true,Form=XmlS chemaForm.Quali fied,DataType=" string")]
[EditorBrowsable (EditorBrowsabl eState.Advanced )]
public string __matchcode;

[XmlIgnore]
public string matchcode {
get { return __matchcode; }
set { __matchcode = value; }
}

[XmlElement(Elem entName="datum" ,IsNullable=tru e,Form=XmlSchem aForm.Qualified ,DataType="stri ng")]
[EditorBrowsable (EditorBrowsabl eState.Advanced )]
public string __datum;

[XmlIgnore]
public string datum {
get { return __datum; }
set { __datum = value; }
}

[XmlElement(Elem entName="name", IsNullable=true ,Form=XmlSchema Form.Qualified, DataType="strin g")]
[EditorBrowsable (EditorBrowsabl eState.Advanced )]
public string __name;

[XmlIgnore]
public string name {
get { return __name; }
set { __name = value; }
}

[XmlElement(Elem entName="partei typ",IsNullable =false,Form=Xml SchemaForm.Qual ified,DataType= "int")]
[EditorBrowsable (EditorBrowsabl eState.Advanced )]
public int __parteityp;

[XmlIgnore]
[EditorBrowsable (EditorBrowsabl eState.Advanced )]
public bool __parteitypSpec ified;

[XmlIgnore]
public int parteityp {
get { return __parteityp; }
set { __parteityp = value; __parteitypSpec ified = true; }
}

[XmlElement(Elem entName="aktiv" ,IsNullable=fal se,Form=XmlSche maForm.Qualifie d,DataType="boo lean")]
[EditorBrowsable (EditorBrowsabl eState.Advanced )]
public bool __aktiv;

[XmlIgnore]
[EditorBrowsable (EditorBrowsabl eState.Advanced )]
public bool __aktivSpecifie d;

[XmlIgnore]
public bool aktiv {
get { return __aktiv; }
set { __aktiv = value; __aktivSpecifie d = true; }
}

public ParteiSearchCri teria() {
}
}

PROBLEM:
if i use the Specified-pattern, the instantiating of the
FindBDImplServi ce failed with the error "File- or Assemblyname
'4t-43ufl.dll' or a dependency not found." (dll-name changes with
every call). i supposed a problem with serialization of this
main-class. if i test the serialization with XMLSerializer this throws
an exception due to a Site-property of the SoapHttpClientP rotocol
because Site-property is an interface (not seralizable)?! if i test
serialization without Specified-pattern this error also occurs. but
the instantiating of the class FindBDImplServi ce works fine and i can
invoke the find-method successfully.
maybe it is a problem with soap-serialization or soap-attributes?

BACKGROUND:
if i canīt serialize nullable values in ParteiSearchCri teria, i canīt
invoke the find-method without a filter. but i need to return
unfiltered results.

by the way, how can the server identificate the right property in the
autogenerated ParteiSearchCri teria, if this is XMLIgnore and the
serialized property is masked with "__"?
iīm finished, your reply could prevent me from jump out of the
window...

thanks for help!

regards,
stephan
Nov 21 '05 #3
Hi newsgroup, hi Dan,

thanks for your reply.
I did, what you suggested.
I generated the proxy-class with Specified-properties.
The next thing you want to do is change your web service implementation to
Document Literal style, instead of using the RPC style method. To do this
just remove the SoapRpcServiceA ttribute that you added (this is not
necessary, and complicates what happens on the wire).


This is the solution: without RPC the serialization works without
System.IO.FileN otFoundExceptio n.

But your proceeding causes an error. The method will not identified as a
webservice-method.
So I changed the SoapRpcServiceA ttribute to SoapDocumentMet hodAttribute. The
request works now fine.

After that I have problems with soap-response. The soap-response for both
variants is equal. The RPC-variant returns filtered ParteiVOPage-object. But
the document-variant returns a null-reference as ParteiVOPage instead of
unfiltered ParteiVOPage. I only can see this in invoking methode:

mParteiVOPage = GetFindBDServic e().find(mParte iSC,Offset,Limi t);

In the proxy-class I can't debug, breakpoints will ingnored. So I checked
the return-value of invoking-method.

I assume problems with interpreting soap-response. Maybe the
[return:]-attribute should be changed?!

/// <remarks/>
[System.Web.Serv ices.Protocols. SoapDocumentMet hodAttribute("" ,
RequestNamespac e="http://xxx.yyy.zzz.de" ,
ResponseNamespa ce="http://xxx.yyy.zzz.de" )]
[return: System.Xml.Seri alization.SoapE lementAttribute ("findReturn ")]
public ParteiVOPage find(ParteiSear chCriteria parteiSearch, int offset, int
limit) {
object[] results = this.Invoke("fi nd", new object[] {
parteiSearch,
offset,
limit});
return ((ParteiVOPage) (results[0]));
}

I donīt have any ideas. hope you can help!
One more week with this problem and nobody can save me from being fired...
;-)

thanks and regards,
stephan
Nov 23 '05 #4
Hi Stephan,

Once you have properly converted the attributes (or take the defaults by
removing the SoapRpcService and SoapRpcMethod attributes), you will have
issues in the client unless the corresponding changes are made in the
generated proxy (or equivalent). The payload will be dramatically simpler
in the document literal case, so you need to make sure that you either
refresh the proxy used to call the web service (click on this in your
project, right click, refresh), or you can open the proxy code and make the
corresponding changes. You should see similar attributes to what you saw
on the service side.

I'm not sure what you mean by breakpoints ignored - this typically means
you set a breakpoint on a non-executable line of code, such as on a comment
or on an attribute. Debugging on the client can also be done readily by
setting a break point in the code that invokes the proxy, and step into the
proxy implementation.

If you are still seeing SoapElementAttr ibute, you will want to change the
proxy for sure - since that is expecting a SOAP encoded (section 5)
message. Think of it this way - proxy and service should match in the way
they are attributed.

Hope this helps

Dan Rogers
Microsoft Corporation
--------------------
From: "stephan querengaesser" <ek****@web.d e>
References: <37************ **************@ posting.google. com>
<1R************ **@cpmsftngxa10 .phx.gbl>
<37************ **************@ posting.google. com>
<Jn************ **@cpmsftngxa10 .phx.gbl>
Subject: Re: invoke a webservice with nillable value types
Date: Tue, 7 Dec 2004 16:25:16 +0100
Lines: 54
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
X-RFC2646: Format=Flowed; Original
Message-ID: <#u************ **@TK2MSFTNGP10 .phx.gbl>
Newsgroups: microsoft.publi c.dotnet.framew ork.webservices
NNTP-Posting-Host: pD4B9DE43.dip.t-dialin.net 212.185.222.67
Path:
cpmsftngxa10.ph x.gbl!TK2MSFTFE ED02.phx.gbl!TK 2MSFTNGP08.phx. gbl!TK2MSFTNGP1 0
.phx.gbl
Xref: cpmsftngxa10.ph x.gbl
microsoft.publi c.dotnet.framew ork.webservices :7949
X-Tomcat-NG: microsoft.publi c.dotnet.framew ork.webservices

Hi newsgroup, hi Dan,

thanks for your reply.
I did, what you suggested.
I generated the proxy-class with Specified-properties.
The next thing you want to do is change your web service implementation to
Document Literal style, instead of using the RPC style method. To do this
just remove the SoapRpcServiceA ttribute that you added (this is not
necessary, and complicates what happens on the wire).


This is the solution: without RPC the serialization works without
System.IO.FileN otFoundExceptio n.

But your proceeding causes an error. The method will not identified as a
webservice-method.
So I changed the SoapRpcServiceA ttribute to SoapDocumentMet hodAttribute.
The
request works now fine.

After that I have problems with soap-response. The soap-response for both
variants is equal. The RPC-variant returns filtered ParteiVOPage-object.
But
the document-variant returns a null-reference as ParteiVOPage instead of
unfiltered ParteiVOPage. I only can see this in invoking methode:

mParteiVOPage = GetFindBDServic e().find(mParte iSC,Offset,Limi t);

In the proxy-class I can't debug, breakpoints will ingnored. So I checked
the return-value of invoking-method.

I assume problems with interpreting soap-response. Maybe the
[return:]-attribute should be changed?!

/// <remarks/>
[System.Web.Serv ices.Protocols. SoapDocumentMet hodAttribute("" ,
RequestNamespac e="http://xxx.yyy.zzz.de" ,
ResponseNamespa ce="http://xxx.yyy.zzz.de" )]
[return: System.Xml.Seri alization.SoapE lementAttribute ("findReturn ")]
public ParteiVOPage find(ParteiSear chCriteria parteiSearch, int offset, int
limit) {
object[] results = this.Invoke("fi nd", new object[] {
parteiSearch,
offset,
limit});
return ((ParteiVOPage) (results[0]));
}

I donīt have any ideas. hope you can help!
One more week with this problem and nobody can save me from being fired...
;-)

thanks and regards,
stephan

Nov 23 '05 #5
Hi Dan,

I'm so sorry to bother you.
but the error still exists and it drives me crazy.
I try to explain the current situation. Please don`t be frightened of the
volume!

SUMMARY:

I want to invoke a webservice-method in an proxy-class, that needs a
filter-object as parameter.
If I want to pass nullable value-types as properties ot the filter-object, I
have to implement (manually or by XsdObjectGen) the Specified-properties
that corresponds to the value-type-properties, ok?

<code>
[XmlType(TypeNam e="ParteiSearch Criteria"),XmlR oot,Serializabl e]
[EditorBrowsable (EditorBrowsabl eState.Advanced )]
public class ParteiSearchCri teria {

[XmlElement(Elem entName="aktiv" ,IsNullable=fal se,Form=XmlSche maForm.Qualifie d,DataType="boo lean")]
[EditorBrowsable (EditorBrowsabl eState.Advanced )]
public bool __aktiv;

[XmlIgnore]
[EditorBrowsable (EditorBrowsabl eState.Advanced )]
public bool __aktivSpecifie d;

[XmlIgnore]
public bool aktiv {
get { return __aktiv; }
set { __aktiv = value; __aktivSpecifie d = true; }
}

public ParteiSearchCri teria() {
}

}
</code>

Than I have to instantiate the webservice-proxy and filter-object and invoke
the method.
I was invoking the method in three way:

1.RPC-method (due to the wsdl)
<code>
[System.Web.Serv ices.Protocols. SoapRpcMethodAt tribute("",
RequestNamespac e="http://xxx.yyy.zzz.de" ,
ResponseNamespa ce="http://xxx.yyy.zzz.de" )]
[return: System.Xml.Seri alization.SoapE lementAttribute ("findReturn ")]
public ParteiVOPage find(ParteiSear chCriteria parteiSearch, int offset, int
limit) {
object[] results = this.Invoke("fi nd", new object[]
{parteiSearch,o ffset,limit});
return ((ParteiVOPage) (results[0]));
}
</code>
While instantiating the webservice-proxy, an error occurs "File- or
Assemblyname '4t-43ufl.dll' or a dependency not found."
Iīve checked the autogenerated code in 4t-43ufl.0.cs. The compiler couldīt
build the dll due to this:

<code>
....
object rre = ReadReferencing Element(id24_bo olean,
id4_httpwwww3or g2001XMLSchema, out fixup.Ids[5]);
if (rre != null) {
try {
o.@__aktiv = (System.Boolean )rre;
}
catch (System.Invalid CastException) {
throw CreateInvalidCa stException(typ eof(System.Bool ean), rre);
}
Referenced(o.@_ _aktiv);
}
= true; //<<<<-----THIS LINE OCCURS THE BUILD-ERROR
paramsRead[5] = true;
....
</code>
The same synthax-error occurs in the code of other value-typ-properties. Due
to this the compiler couldnīt build the dll.
You mentioned, I have to avoid RPC, so I did the 2nd way.

2.Document-method
<code>
[System.Web.Serv ices.Protocols. SoapDocumentMet hodAttribute("" ,
RequestNamespac e="http://xxx.yyy.zzz.de" ,
ResponseNamespa ce="http://xxx.yyy.zzz.de" )]
[return: System.Xml.Seri alization.SoapE lementAttribute ("findReturn ")]
public ParteiVOPage find(ParteiSear chCriteria parteiSearch, int offset, int
limit) {
object[] results = this.Invoke("fi nd", new object[]
{parteiSearch,o ffset,limit});
return ((ParteiVOPage) (results[0]));
}
</code>
If I configurate the attributes like this,no error occurs, the dll will
built, the soap-response is correct but the returned result-object is null.
I repeat: the soap ist correct, but it wonīt interpreted by the proxy.
Iīve read about configuration, that fix the problem with
SoapBindingUse. Encoded. So I tried the last way.

3.Document-method and SoapBindingUse. Encoded
<code>
[System.Web.Serv ices.Protocols. SoapDocumentMet hodAttribute("" ,
RequestNamespac e="http://xxx.yyy.zzz.de" ,
ResponseNamespa ce="http://xxx.yyy.zzz.de" ,Use=System.Web .Services.Descr iption.SoapBind ingUse.Encoded)]
[return: System.Xml.Seri alization.SoapE lementAttribute ("findReturn ")]
public ParteiVOPage find(ParteiSear chCriteria parteiSearch, int offset, int
limit) {
object[] results = this.Invoke("fi nd", new object[]
{parteiSearch,o ffset,limit});
return ((ParteiVOPage) (results[0]));
}
</code>

Here the same error occurs like in point 1: "File- or Assemblyname
'randomxyz.dll' or a dependency not found."
<code>
....
Referenced(o.@_ _parteityp);
}
= true; //<<<<-----THIS LINE OCCURS THE BUILD-ERROR
paramsRead[3] = true;
....
</code>

Iīve got the notation that the reason is the code-generator of the
serializer.
It makes mistakes while serialization if I set Rpc or Encoded.
In order that you have all informations:

attributes of the webservice-class:
<webservice-class>
/// <remarks/>
[System.Diagnost ics.DebuggerSte pThroughAttribu te()]
[System.Componen tModel.Designer CategoryAttribu te("code")]
[System.Web.Serv ices.WebService BindingAttribut e(Name="FindBDI mplSoapBinding" ,
Namespace="http ://xxx.yyy.zzz.de" )]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(Validat ionError))]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(BDMalfu nctionException ))]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(TokyoVO ))]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(TokyoVO Page))]
public class FindBDImplServi ce :
System.Web.Serv ices.Protocols. SoapHttpClientP rotocol {
....
}
</webservice-class>

soap-request with document-attribute and without value-type-properties
(point 2):

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelop e xmlns:soap="htt p://schemas.xmlsoap .org/soap/envelope/"
xmlns:xsi="http ://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http ://www.w3.org/2001/XMLSchema">
<soap:Body><fin d xmlns="http://xxx.yyy.zzz.de" >
<parteiSearch >
<matchcode xsi:nil="true" />
<datum xsi:nil="true" />
<name xsi:nil="true" />
</parteiSearch>
<offset>0</offset>
<limit>99</limit>
</find>
</soap:Body>
</soap:Envelope>

unfiltered soap-response with document-attribute (point 2)
(...=abbreviate d):

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelo pe xmlns:soapenv=" http://schemas.xmlsoap .org/soap/envelope/"
xmlns:xsd="http ://www.w3.org/2001/XMLSchema"
xmlns:xsi="http ://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body >
<ns1:findRespon se
soapenv:encodin gStyle="http://schemas.xmlsoap .org/soap/encoding/"
xmlns:ns1="http ://xxx.yyy.zzz.de" >
<findReturn href="#id0"/>
</ns1:findRespons e>
<multiRef id="id0" soapenc:root="0 "
soapenv:encodin gStyle="http://schemas.xmlsoap .org/soap/encoding/"
xsi:type="ns2:P arteiVOPage"
xmlns:soapenc=" http://schemas.xmlsoap .org/soap/encoding/"
xmlns:ns2="http ://xxx.yyy.zzz.de" >
<limit xsi:type="xsd:i nt">99</limit>
<offset xsi:type="xsd:i nt">0</offset>
<parteien xsi:type="soape nc:Array" soapenc:arrayTy pe="ns2:ParteiV O[99]"
xmlns:ns3="http ://xxx.yyy.zzz.de" >
<item href="#id1"/>
...
<item href="#id33"/>
...
</parteien>
<size xsi:type="xsd:i nt">99</size>
<totalSize xsi:type="xsd:i nt">0</totalSize>
</multiRef>
...
<multiRef id="id33" soapenc:root="0 "
soapenv:encodin gStyle="http://schemas.xmlsoap .org/soap/encoding/"
xsi:type="ns4:P arteiVO" xmlns:ns4="http ://xxx.yyy.zzz.de"
xmlns:soapenc=" http://schemas.xmlsoap .org/soap/encoding/">
<active xsi:type="xsd:b oolean">true</active>
<akid1 xsi:type="xsd:i nt">1</akid1>
<akid2 xsi:type="xsd:i nt">8</akid2>
<akid3 xsi:type="xsd:i nt">14</akid3>
<akid4 xsi:type="xsd:i nt">10</akid4>
<akid5 xsi:type="xsd:i nt">18</akid5>
<akid6 xsi:type="xsd:i nt">4</akid6>
<akid7 xsi:type="xsd:i nt">26</akid7>
<atid1 xsi:type="xsd:i nt">1</atid1>
<atid2 xsi:type="xsd:i nt">2</atid2>
<atid3 xsi:type="xsd:i nt">2</atid3>
<atid4 xsi:type="xsd:i nt">2</atid4>
<atid5 xsi:type="xsd:i nt">2</atid5>
<atid6 xsi:type="xsd:i nt">3</atid6>
<atid7 xsi:type="xsd:i nt">4</atid7>
<deleted xsi:type="xsd:b oolean">false</deleted>
<kommentar xsi:type="xsd:s tring">Ach so is das</kommentar>
<matchcode1 xsi:type="xsd:s tring">musterfi 00</matchcode1>
<matchcode2 xsi:type="xsd:s tring"></matchcode2>
<name1 xsi:type="xsd:s tring">Musterfi rma</name1>
<name2 xsi:type="xsd:s tring">007</name2>
<ptid xsi:type="xsd:i nt">2</ptid>
<sid xsi:type="xsd:i nt">134</sid>
<tscr xsi:type="xsd:s tring">2003-11-19 15:48:00</tscr>
<tslc xsi:type="xsd:s tring">2003-12-22 12:31:14</tslc>
<tsmd xsi:type="xsd:s tring">2004-01-30 18:37:01</tsmd>
<ucr xsi:type="xsd:s tring">demo.gwo .admin</ucr>
<ulc xsi:type="xsd:s tring">demo.gwo .admin</ulc>
<umd xsi:type="xsd:s tring">locker bleiben</umd>
<vlc xsi:type="xsd:i nt">7</vlc>
</multiRef>
...
</soapenv:Body>
</soapenv:Envelop e>
Answers to your question:
Once you have properly converted the attributes (or take the defaults by <removing the SoapRpcService and SoapRpcMethod attributes), you will haveissues in the client unless the corresponding changes are made in the
generated proxy (or equivalent). The payload will be dramatically simpler
in the document literal case, so you need to make sure that you either
refresh the proxy used to call the web service (click on this in your
project, right click, refresh),
If I refresh, the proxy will generated without Specified-properties.
or you can open the proxy code and make the
correspondin g changes. You should see similar attributes to what you saw
on the service side.
I cantī see anything on server side. I have only the wsdl and the endpoint.

I'm not sure what you mean by breakpoints ignored - this typically means
you set a breakpoint on a non-executable line of code, such as on a comment
or on an attribute. Debugging on the client can also be done readily by
setting a break point in the code that invokes the proxy, and step into the
proxy implementation.
I canīt step into the proxy. I tried that, It doesnīt work. Breakpoints in
the proxy will be ignored.
If you are still seeing SoapElementAttr ibute, you will want to change the
proxy for sure - since that is expecting a SOAP encoded (section 5)
message. Think of it this way - proxy and service should match in the way
they are attributed.


The find-method in the wsdl is configured like this:
<wsdl:binding name="FindBDImp lSoapBinding" type="impl:Find BDImpl">
<wsdlsoap:bindi ng style="rpc"
transport="http ://schemas.xmlsoap .org/soap/http"/>
<wsdl:operati on name="find">
<wsdlsoap:opera tion soapAction=""/>
<wsdl:input name="findReque st">
<wsdlsoap:bod y
encodingStyle=" http://schemas.xmlsoap .org/soap/encoding/"
namespace="http ://xxx.yyy.zzz.de" use="encoded"/>
</wsdl:input>
<wsdl:output name="findRespo nse">
<wsdlsoap:bod y
encodingStyle=" http://schemas.xmlsoap .org/soap/encoding/"
namespace="http ://xxx.yyy.zzz.de" use="encoded"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>

I donīt have other informations. note, that the soap-response with document
and rpc is the same. webservice seems to have no problems with that.
Dan, I hope, you are not at the end of the rope.
Itīs existential for me to pass nullable value-types in the filter-object to
webservice.
Otherwise my boss sharps the knife for my pelt...;-)

If you need more informations post or e-mail me!

Itīs good to know, there are experts out in the world, if you need
them...;-)
Thanks a lot for your help.

regards,
stephan
Nov 23 '05 #6
Hi Stephan,

You CANNOT pass null values for value types. What you have here is
optional values (via the specified code).

There are no adjustments you can make to the calling side code to correct
the need to get the interface workable on the service side. It isn't
reasonable to expect (from a cross platform perspective) the caller to be
able to pass null for value types, since the CLR doesn't support null for
value types. If someone has designed a service that needs null for value
types, it is very fair to say that the service was designed to only work
with Java or pure XML.

An option you do have is to work from the caller in pure XML and forgo the
serialization support.

I hope this helps

Dan
--------------------
From: "stephan querengaesser" <ek****@web.d e>
References: <37************ **************@ posting.google. com>
<1R************ **@cpmsftngxa10 .phx.gbl>
<37************ **************@ posting.google. com>
<Jn************ **@cpmsftngxa10 .phx.gbl>
<#u************ **@TK2MSFTNGP10 .phx.gbl>
<7f************ *@cpmsftngxa10. phx.gbl>
Subject: Re: invoke a webservice with nillable value types
Date: Wed, 8 Dec 2004 19:28:40 +0100
Lines: 312
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
X-RFC2646: Format=Flowed; Original
Message-ID: <Oz************ **@TK2MSFTNGP15 .phx.gbl>
Newsgroups: microsoft.publi c.dotnet.framew ork.webservices
NNTP-Posting-Host: pd950a56d.dip.t-dialin.net 217.80.165.109
Path:
cpmsftngxa10.ph x.gbl!TK2MSFTFE ED01.phx.gbl!TK 2MSFTNGP08.phx. gbl!TK2MSFTNGP1 5
.phx.gbl
Xref: cpmsftngxa10.ph x.gbl
microsoft.publi c.dotnet.framew ork.webservices :7984
X-Tomcat-NG: microsoft.publi c.dotnet.framew ork.webservices

Hi Dan,

I'm so sorry to bother you.
but the error still exists and it drives me crazy.
I try to explain the current situation. Please don`t be frightened of the
volume!

SUMMARY:

I want to invoke a webservice-method in an proxy-class, that needs a
filter-object as parameter.
If I want to pass nullable value-types as properties ot the filter-object,
I
have to implement (manually or by XsdObjectGen) the Specified-properties
that corresponds to the value-type-properties, ok?

<code>
[XmlType(TypeNam e="ParteiSearch Criteria"),XmlR oot,Serializabl e]
[EditorBrowsable (EditorBrowsabl eState.Advanced )]
public class ParteiSearchCri teria {

[XmlElement(Elem entName="aktiv" ,IsNullable=fal se,Form=XmlSche maForm.Qualifie
d,DataType="boo lean")]
[EditorBrowsable (EditorBrowsabl eState.Advanced )]
public bool __aktiv;

[XmlIgnore]
[EditorBrowsable (EditorBrowsabl eState.Advanced )]
public bool __aktivSpecifie d;

[XmlIgnore]
public bool aktiv {
get { return __aktiv; }
set { __aktiv = value; __aktivSpecifie d = true; }
}

public ParteiSearchCri teria() {
}

}
</code>

Than I have to instantiate the webservice-proxy and filter-object and
invoke
the method.
I was invoking the method in three way:

1.RPC-method (due to the wsdl)
<code>
[System.Web.Serv ices.Protocols. SoapRpcMethodAt tribute("",
RequestNamespac e="http://xxx.yyy.zzz.de" ,
ResponseNamespa ce="http://xxx.yyy.zzz.de" )]
[return: System.Xml.Seri alization.SoapE lementAttribute ("findReturn ")]
public ParteiVOPage find(ParteiSear chCriteria parteiSearch, int offset, int
limit) {
object[] results = this.Invoke("fi nd", new object[]
{parteiSearch,o ffset,limit});
return ((ParteiVOPage) (results[0]));
}
</code>
While instantiating the webservice-proxy, an error occurs "File- or
Assemblyname '4t-43ufl.dll' or a dependency not found."
Iīve checked the autogenerated code in 4t-43ufl.0.cs. The compiler couldīt
build the dll due to this:

<code>
...
object rre = ReadReferencing Element(id24_bo olean,
id4_httpwwww3or g2001XMLSchema, out fixup.Ids[5]);
if (rre != null) {
try {
o.@__aktiv = (System.Boolean )rre;
}
catch (System.Invalid CastException) {
throw CreateInvalidCa stException(typ eof(System.Bool ean), rre);
}
Referenced(o.@_ _aktiv);
}
= true; //<<<<-----THIS LINE OCCURS THE BUILD-ERROR
paramsRead[5] = true;
...
</code>
The same synthax-error occurs in the code of other value-typ-properties.
Due
to this the compiler couldnīt build the dll.
You mentioned, I have to avoid RPC, so I did the 2nd way.

2.Document-method
<code>
[System.Web.Serv ices.Protocols. SoapDocumentMet hodAttribute("" ,
RequestNamespac e="http://xxx.yyy.zzz.de" ,
ResponseNamespa ce="http://xxx.yyy.zzz.de" )]
[return: System.Xml.Seri alization.SoapE lementAttribute ("findReturn ")]
public ParteiVOPage find(ParteiSear chCriteria parteiSearch, int offset, int
limit) {
object[] results = this.Invoke("fi nd", new object[]
{parteiSearch,o ffset,limit});
return ((ParteiVOPage) (results[0]));
}
</code>
If I configurate the attributes like this,no error occurs, the dll will
built, the soap-response is correct but the returned result-object is null.
I repeat: the soap ist correct, but it wonīt interpreted by the proxy.
Iīve read about configuration, that fix the problem with
SoapBindingUse. Encoded. So I tried the last way.

3.Document-method and SoapBindingUse. Encoded
<code>
[System.Web.Serv ices.Protocols. SoapDocumentMet hodAttribute("" ,
RequestNamespac e="http://xxx.yyy.zzz.de" ,
ResponseNamespa ce="http://xxx.yyy.zzz.de" ,Use=System.Web .Services.Descr iptio
n.SoapBindingUs e.Encoded)]
[return: System.Xml.Seri alization.SoapE lementAttribute ("findReturn ")]
public ParteiVOPage find(ParteiSear chCriteria parteiSearch, int offset, int
limit) {
object[] results = this.Invoke("fi nd", new object[]
{parteiSearch,o ffset,limit});
return ((ParteiVOPage) (results[0]));
}
</code>

Here the same error occurs like in point 1: "File- or Assemblyname
'randomxyz.dll' or a dependency not found."
<code>
...
Referenced(o.@_ _parteityp);
}
= true; //<<<<-----THIS LINE OCCURS THE BUILD-ERROR
paramsRead[3] = true;
...
</code>

Iīve got the notation that the reason is the code-generator of the
serializer.
It makes mistakes while serialization if I set Rpc or Encoded.
In order that you have all informations:

attributes of the webservice-class:
<webservice-class>
/// <remarks/>
[System.Diagnost ics.DebuggerSte pThroughAttribu te()]
[System.Componen tModel.Designer CategoryAttribu te("code")]
[System.Web.Serv ices.WebService BindingAttribut e(Name="FindBDI mplSoapBinding"
,
Namespace="http ://xxx.yyy.zzz.de" )]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(Validat ionError))]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(BDMalfu nctionException
))]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(TokyoVO ))]
[System.Xml.Seri alization.SoapI ncludeAttribute (typeof(TokyoVO Page))]
public class FindBDImplServi ce :
System.Web.Serv ices.Protocols. SoapHttpClientP rotocol {
...
}
</webservice-class>

soap-request with document-attribute and without value-type-properties
(point 2):

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelop e xmlns:soap="htt p://schemas.xmlsoap .org/soap/envelope/"
xmlns:xsi="http ://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http ://www.w3.org/2001/XMLSchema">
<soap:Body><fin d xmlns="http://xxx.yyy.zzz.de" >
<parteiSearch >
<matchcode xsi:nil="true" />
<datum xsi:nil="true" />
<name xsi:nil="true" />
</parteiSearch>
<offset>0</offset>
<limit>99</limit>
</find>
</soap:Body>
</soap:Envelope>

unfiltered soap-response with document-attribute (point 2)
(...=abbreviate d):

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelo pe xmlns:soapenv=" http://schemas.xmlsoap .org/soap/envelope/"
xmlns:xsd="http ://www.w3.org/2001/XMLSchema"
xmlns:xsi="http ://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body >
<ns1:findRespon se
soapenv:encodin gStyle="http://schemas.xmlsoap .org/soap/encoding/"
xmlns:ns1="http ://xxx.yyy.zzz.de" >
<findReturn href="#id0"/>
</ns1:findRespons e>
<multiRef id="id0" soapenc:root="0 "
soapenv:encodin gStyle="http://schemas.xmlsoap .org/soap/encoding/"
xsi:type="ns2:P arteiVOPage"
xmlns:soapenc=" http://schemas.xmlsoap .org/soap/encoding/"
xmlns:ns2="http ://xxx.yyy.zzz.de" >
<limit xsi:type="xsd:i nt">99</limit>
<offset xsi:type="xsd:i nt">0</offset>
<parteien xsi:type="soape nc:Array" soapenc:arrayTy pe="ns2:ParteiV O[99]"
xmlns:ns3="http ://xxx.yyy.zzz.de" >
<item href="#id1"/>
...
<item href="#id33"/>
...
</parteien>
<size xsi:type="xsd:i nt">99</size>
<totalSize xsi:type="xsd:i nt">0</totalSize>
</multiRef>
...
<multiRef id="id33" soapenc:root="0 "
soapenv:encodin gStyle="http://schemas.xmlsoap .org/soap/encoding/"
xsi:type="ns4:P arteiVO" xmlns:ns4="http ://xxx.yyy.zzz.de"
xmlns:soapenc=" http://schemas.xmlsoap .org/soap/encoding/">
<active xsi:type="xsd:b oolean">true</active>
<akid1 xsi:type="xsd:i nt">1</akid1>
<akid2 xsi:type="xsd:i nt">8</akid2>
<akid3 xsi:type="xsd:i nt">14</akid3>
<akid4 xsi:type="xsd:i nt">10</akid4>
<akid5 xsi:type="xsd:i nt">18</akid5>
<akid6 xsi:type="xsd:i nt">4</akid6>
<akid7 xsi:type="xsd:i nt">26</akid7>
<atid1 xsi:type="xsd:i nt">1</atid1>
<atid2 xsi:type="xsd:i nt">2</atid2>
<atid3 xsi:type="xsd:i nt">2</atid3>
<atid4 xsi:type="xsd:i nt">2</atid4>
<atid5 xsi:type="xsd:i nt">2</atid5>
<atid6 xsi:type="xsd:i nt">3</atid6>
<atid7 xsi:type="xsd:i nt">4</atid7>
<deleted xsi:type="xsd:b oolean">false</deleted>
<kommentar xsi:type="xsd:s tring">Ach so is das</kommentar>
<matchcode1 xsi:type="xsd:s tring">musterfi 00</matchcode1>
<matchcode2 xsi:type="xsd:s tring"></matchcode2>
<name1 xsi:type="xsd:s tring">Musterfi rma</name1>
<name2 xsi:type="xsd:s tring">007</name2>
<ptid xsi:type="xsd:i nt">2</ptid>
<sid xsi:type="xsd:i nt">134</sid>
<tscr xsi:type="xsd:s tring">2003-11-19 15:48:00</tscr>
<tslc xsi:type="xsd:s tring">2003-12-22 12:31:14</tslc>
<tsmd xsi:type="xsd:s tring">2004-01-30 18:37:01</tsmd>
<ucr xsi:type="xsd:s tring">demo.gwo .admin</ucr>
<ulc xsi:type="xsd:s tring">demo.gwo .admin</ulc>
<umd xsi:type="xsd:s tring">locker bleiben</umd>
<vlc xsi:type="xsd:i nt">7</vlc>
</multiRef>
...
</soapenv:Body>
</soapenv:Envelop e>
Answers to your question:
Once you have properly converted the attributes (or take the defaults by <removing the SoapRpcService and SoapRpcMethod attributes), you will haveissues in the client unless the corresponding changes are made in the
generated proxy (or equivalent). The payload will be dramatically simpler
in the document literal case, so you need to make sure that you either
refresh the proxy used to call the web service (click on this in your
project, right click, refresh),
If I refresh, the proxy will generated without Specified-properties.
or you can open the proxy code and make the
correspondin g changes. You should see similar attributes to what you saw
on the service side.
I cantī see anything on server side. I have only the wsdl and the endpoint.

I'm not sure what you mean by breakpoints ignored - this typically means
you set a breakpoint on a non-executable line of code, such as on a comment
or on an attribute. Debugging on the client can also be done readily by
setting a break point in the code that invokes the proxy, and step into the
proxy implementation.
I canīt step into the proxy. I tried that, It doesnīt work. Breakpoints in
the proxy will be ignored.
If you are still seeing SoapElementAttr ibute, you will want to change the
proxy for sure - since that is expecting a SOAP encoded (section 5)
message. Think of it this way - proxy and service should match in the way
they are attributed.


The find-method in the wsdl is configured like this:
<wsdl:binding name="FindBDImp lSoapBinding" type="impl:Find BDImpl">
<wsdlsoap:bindi ng style="rpc"
transport="http ://schemas.xmlsoap .org/soap/http"/>
<wsdl:operati on name="find">
<wsdlsoap:opera tion soapAction=""/>
<wsdl:input name="findReque st">
<wsdlsoap:bod y
encodingStyle=" http://schemas.xmlsoap .org/soap/encoding/"
namespace="http ://xxx.yyy.zzz.de" use="encoded"/>
</wsdl:input>
<wsdl:output name="findRespo nse">
<wsdlsoap:bod y
encodingStyle=" http://schemas.xmlsoap .org/soap/encoding/"
namespace="http ://xxx.yyy.zzz.de" use="encoded"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>

I donīt have other informations. note, that the soap-response with document
and rpc is the same. webservice seems to have no problems with that.
Dan, I hope, you are not at the end of the rope.
Itīs existential for me to pass nullable value-types in the filter-object
to
webservice.
Otherwise my boss sharps the knife for my pelt...;-)

If you need more informations post or e-mail me!

Itīs good to know, there are experts out in the world, if you need
them...;-)
Thanks a lot for your help.

regards,
stephan

Nov 23 '05 #7
Hi Dan,
thanks for your reply.
You CANNOT pass null values for value types. What you have here is
optional values (via the specified code).
I have understood that since my first posting. ;-)
There are no adjustments you can make to the calling side code to correct
the need to get the interface workable on the service side. It isn't
reasonable to expect (from a cross platform perspective) the caller to be
able to pass null for value types, since the CLR doesn't support null for
value types. If someone has designed a service that needs null for value
types, it is very fair to say that the service was designed to only work
with Java or pure XML.
Youīre right. Thatīs the problem. The Webservice isn`t really interoperable.
An option you do have is to work from the caller in pure XML and forgot
the
serialization support.


Thatīs my solution. I`ve built my own serialization/deserialization for all
methods and objects that uses nullable value types. Now it works fine. The
rest works furthermore with the proxy.

Conclusion:
If I have to build an interoperable webservice I will substitute all value
types with strings. After transfer I will do the conversion back from string
to value types. I think that`s the best way, isnīt it?

Dan, thanks for your response. It was very helpful.
regards,

Stephan

Nov 23 '05 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
3395
by: Jens | last post by:
Hello, i am trying to call a Apache WebService, which accepts NULL-Values for some Parameters of a specific Web-Method. NULL-Values are mapped within the soap-request by the .NET Client corresponding to the following example-schema: <ffin xsi:nil="true" /> the problem is that Apache expects the following request-schema:
6
6522
by: Markus Eßmayr | last post by:
Hello, I'd like to consume a WebService, which returns an array of objects which include several members of type System.String, System.Decimal and System.DateTime. In the WSDL-file, the members of the object are marked as nilable. I generated the client classes using VS.NET 2003. After the creation, I got the class-definition of the objects returned by the WebService too. BUT, only the System.String members where marked to be nullable,...
8
7189
by: Marc | last post by:
Hi! I'm calling a web service using C# and a wrapper class generated by wsdl tool. The web service specification contains some nillable parameters which types are Value Types in .NET (long, int, Decimal, ....) and I must to send them as null, and not their default value. It is possible? Is there any trick to succeed it? Thanks in advance,
7
4983
by: Christian Wilhelm | last post by:
Hi! I'm trying to call a Java WebService out of a .net Client. There are two Methods, one Method requires one Parameter of type Parameter, the other Method requires one Parameter of type Parameter. I can call the first Method without Problems, the Parameter can be deserialized by the WebService. But if I want to call the second Method and give it an Array of Parameters, then the following exception is thrown by the WebService:...
0
1776
by: Chris Fink | last post by:
When I am consuming a webservice, an object has an undefined value (inq3Type.Call3Data). I do not completely understand why this is happening and apologize for the vague question. My assumption is that the WSDL is defined incorrectly and .NET cannot parse the types. Any help is greatly appreciated! CustDDGSvc ws = new CustDDGSvc(); ws.Url = "http://dmapfra003.decisionone.com:8080/JISOAP/CustDDGSvc"; // don't understand why the...
6
8966
by: Sascha Schmidt | last post by:
Hi again! Well, the first part of my "mission" (calling remoting objects from a webservice) is solved. But there's another part: Calling this C#-Webservice from a java client. Is this a difficult task? Or is this quite easy, like just a few lines of source and using some of the packages from apache.org? Has anybody done this before and will like to tell me about his/her experiences?
1
1793
by: manfred | last post by:
Hi Together, I tried to build a webservice proxy using a wsdl, generated in the sun/java world. I used the .Net 2003 Version, choosing there VC++. The steps I did: 1. Visual C++ Projekte / "Konsoleanwendung (.Net)" 2. Projekt / Webverweis hinzufügen / lokal I chose the wsdl, which were generated before within a WSAD environment (style: RPC encoded). For me the wsdl looks like ok:
1
1648
by: Vishuonline | last post by:
Guys, I have had some experience in working with webservices created in .NET but this is the first time I am trying out one made in Java. When I run the wsdl exe to create a proxy class for the wsdl provided it throws the following error. Error: Unable to import binding 'CosmosXXXXXBinding' from namespace 'urn :XXXXX'.
1
2654
by: gihan | last post by:
Hi, I have a problem accessing remote webservice from my asp code. Instead of returning results, it returns list of web methods it has. Wonder where i'm doing wrong. Also note that, this is a ristricted webservice, which need username password to access and I can't use third party tools (llike xmlspy, webservice studio) to access it and debug. I only got is WSDL. Here is the WSDL <wsdl:definitions xmlns="http://schemas.xmlsoap.org/wsdl/"...
0
9401
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
9179
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9116
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8099
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6702
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6011
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4519
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
3228
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
3
2157
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.