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:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://prj.abc.de"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="http://prj.abc.de" xmlns:intf="http://prj.abc.de"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
<schema elementFormDefault='qualified'
targetNamespace="http://prj.abc.de"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="http://prj.abc.de" xmlns:intf="http://prj.abc.de"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<element name="isAliveReturn" type="xsd:boolean"/>
<element name="version" nillable="true" type="xsd:string"/>
<element name="xmlData" nillable="true" type="xsd:string"/>
</schema>
</wsdl:types>
<wsdl:message name="isAliveResponse">
<wsdl:part name="isAliveReturn" type="xsd:boolean"/>
</wsdl:message>
<wsdl:message name="isAliveRequest">
</wsdl:message>
<wsdl:portType name="ReiKoUploadWS">
<wsdl:operation name="isAlive">
<wsdl:input message="impl:isAliveRequest"
name="isAliveRequest"/>
<wsdl:output message="impl:isAliveResponse"
name="isAliveResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="UploadReiKoWSSoapBinding"
type="impl:ReiKoUploadWS">
<wsdlsoap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="isAlive">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="isAliveRequest">
<wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://prj.abc.de" use="encoded"/>
</wsdl:input>
<wsdl:output name="isAliveResponse">
<wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://prj.abc.de" use="encoded"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="ReiKoUploadWSService">
<wsdl:port binding="impl:UploadReiKoWSSoapBinding"
name="UploadReiKoWS">
<wsdlsoap:address
location="https://prj/services/UploadReiKoWS"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Instantiating now a the web service proxy, I get the following Linker
Error:
stdafx.obj : warning LNK4227: Metadatenoperations-Warnung (00131189):
Doppelte Methoden mit nicht konsistenten Parameterinformationen
Methoden: isAlive; Typ: WebReference.ReiKoUploadWSService):
(0x08000002).
stdafx.obj : error LNK2022: Fehler bei der Metadatenoperation (80131195)
: Die benutzerdefinierten Attribute sind nicht konsistent: (0x0c000005).
LINK : fatal error LNK1255: Fehler bei der Verkn?pfung aufgrund von
Metadatenfehlern
What's wrong with the wsdl, or is there any other error? It must be
possible to combine the Microsoft and the sun world.
Thanks in advance for your help,
Manfred
Manfred, Munich
--
Sent via .NET Newsgroups
http://www.dotnetnewsgroups.com
manfred - 23 Feb 2006 11:18 GMT
Hi,
It's a non interoperability problem. I solved the problem myself by
finding an acceptable workaround. After changing the return value types
from boolean to string, no more linking errors occured. I hope I can
help with that hint other guys having similar problems.
With regards,
Manfred
Manfred, Munich
--
Sent via .NET Newsgroups
http://www.dotnetnewsgroups.com