473,394 Members | 1,889 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,394 software developers and data experts.

wsdl missing type definition (remoting over soap)

I have simple remoting server exposing following simple method. When I try to
add webreference to this server in another project,
it gives me following error:
Custom tool error: Unable to import WebService/Schema. Unable to import
binding 'MyRemoteObjectBinding' from namespace
'http://schemas.microsoft.com/clr/nsassem/RemoteServer/RemoteServer%2C%20Version%3D1.0.0.0%2C%20Culture%3 Dneutral%2C%20PublicKeyToken%3Dnull'.
Unable to import operation 'GetEmpInfo'.
The datatype
'http://schemas.microsoft.com/clr/nsassem/Brooks.EES.Framework.DataAccess/Brooks.EES.Framework.DataStructure%2C%20Version%3D 1.0.1.1%2C%20Culture%3Dneutral%2C%20PublicKeyToken %3Dbbf6413da47c0685:EmpDetail' is missing.
After some tests, following are my findings.
1. Currently EmpDetail class is defined in different namespace and different
DLL from the remoting server.
2. In this setup, ?wsdl generates wsdl which is missing the type definition
of the EmpDetails, which is resulting in above error.

3. If I remove get/set methods from the EmpDetail class, ?wsdl generates
correct wsdl with EmpDetalis type definition in the wsdl.
4. If I define EmpDetails class in the same namesapce and same dll (no
change in the EmpDetails definition), ?wsdl generates correct wsdl with the
type definition of EmpDetail calss.

Im I missing something? or How can I instruct ?wsdl to include all type
definition.

----------------------------------------------------------------------------
Example Code: RemoteServer
----------------------------------------------------------------------------
using Brooks.EES.Framework.DataAccess;
namespace RemoteServer
{
class MyRemoteObject : System.MarshalByRefObject
{
public EmpDetail GetEmpInfo()
{
return new EmpDetail();
}
}
}

namespace Brooks.EES.Framework.DataAccess
{
[Serializable]
public class EmpDetail
{
private string _Id;
private string _description;

public string Id
{
get
{
return _Id;
}
set
{
_Id = value;
}
}

public string Description
{
get
{
return _description;
}
set
{
_description = value;
}
}
}
}

-----------------------------------------------------------------------------
Here is the wsdl snipate which is missing type definition.
-----------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="MyRemoteObject"
targetNamespace="http://schemas.microsoft.com/clr/nsassem/RemoteServer/RemoteServer%2C%20Version%3D1.0.0.0%2C%20Culture%3 Dneutral%2C%20PublicKeyToken%3Dnull"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://schemas.microsoft.com/clr/nsassem/RemoteServer/RemoteServer%2C%20Version%3D1.0.0.0%2C%20Culture%3 Dneutral%2C%20PublicKeyToken%3Dnull"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:suds="http://www.w3.org/2000/wsdl/suds"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns2="http://schemas.microsoft.com/clr/nsassem/RemoteServer.MyRemoteObject/RemoteServer%2C%20Version%3D1.0.0.0%2C%20Culture%3 Dneutral%2C%20PublicKeyToken%3Dnull"
xmlns:ns0="http://schemas.microsoft.com/clr/nsassem/RemoteServer/RemoteServer%2C%20Version%3D1.0.0.0%2C%20Culture%3 Dneutral%2C%20PublicKeyToken%3Dnull"
xmlns:ns1="http://schemas.microsoft.com/clr/ns/System"
xmlns:ns3="http://schemas.microsoft.com/clr/nsassem/Brooks.EES.Framework.DataAccess/Brooks.EES.Framework.DataStructure%2C%20Version%3D 1.0.1.1%2C%20Culture%3Dneutral%2C%20PublicKeyToken %3Dbbf6413da47c0685"
xmlns:ns4="http://schemas.microsoft.com/clr/nsassem/Brooks.EES.Framework.DataAccess.EmpDetail/Brooks.EES.Framework.DataStructure%2C%20Version%3D 1.0.1.1%2C%20Culture%3Dneutral%2C%20PublicKeyToken %3Dbbf6413da47c0685"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">

<message name="MyRemoteObject.GetEmpInfoInput">
</message>
<message name="MyRemoteObject.GetEmpInfoOutput">
<part name="return" type="ns3:EmpDetail"/>
</message>

<portType name="MyRemoteObjectPortType">
<operation name="GetEmpInfo">
<input name="GetEmpInfoRequest"
message="tns:MyRemoteObject.GetEmpInfoInput"/>
<output name="GetEmpInfoResponse"
message="tns:MyRemoteObject.GetEmpInfoOutput"/>
</operation>
</portType>

<binding name="MyRemoteObjectBinding" type="tns:MyRemoteObjectPortType">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<suds:class type="ns0:MyRemoteObject" rootType="MarshalByRefObject">
</suds:class>
<operation name="GetEmpInfo">
<soap:operation
soapAction="http://schemas.microsoft.com/clr/nsassem/RemoteServer.MyRemoteObject/RemoteServer#GetEmpInfo"/>
<suds:method attributes="public"/>
<input name="GetEmpInfoRequest">
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://schemas.microsoft.com/clr/nsassem/RemoteServer.MyRemoteObject/RemoteServer"/>
</input>
<output name="GetEmpInfoResponse">
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://schemas.microsoft.com/clr/nsassem/RemoteServer.MyRemoteObject/RemoteServer"/>
</output>
</operation>
</binding>

<message name="EmpDetail.get_IdInput">
</message>
<message name="EmpDetail.get_IdOutput">
<part name="return" type="xsd:string"/>
</message>

<message name="EmpDetail.set_IdInput">
<part name="value" type="xsd:string"/>
</message>
<message name="EmpDetail.set_IdOutput">
</message>

<message name="EmpDetail.get_DescriptionInput">
</message>
<message name="EmpDetail.get_DescriptionOutput">
<part name="return" type="xsd:string"/>
</message>

<message name="EmpDetail.set_DescriptionInput">
<part name="value" type="xsd:string"/>
</message>
<message name="EmpDetail.set_DescriptionOutput">
</message>

<portType name="EmpDetailPortType">
<operation name="get_Id">
<input name="get_IdRequest" message="tns:EmpDetail.get_IdInput"/>
<output name="get_IdResponse"
message="tns:EmpDetail.get_IdOutput"/>
</operation>
<operation name="set_Id" parameterOrder="value">
<input name="set_IdRequest" message="tns:EmpDetail.set_IdInput"/>
<output name="set_IdResponse"
message="tns:EmpDetail.set_IdOutput"/>
</operation>
<operation name="get_Description">
<input name="get_DescriptionRequest"
message="tns:EmpDetail.get_DescriptionInput"/>
<output name="get_DescriptionResponse"
message="tns:EmpDetail.get_DescriptionOutput"/>
</operation>
<operation name="set_Description" parameterOrder="value">
<input name="set_DescriptionRequest"
message="tns:EmpDetail.set_DescriptionInput"/>
<output name="set_DescriptionResponse"
message="tns:EmpDetail.set_DescriptionOutput"/>
</operation>
</portType>

<binding name="EmpDetailBinding" type="tns:EmpDetailPortType">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<suds:class type="ns3:EmpDetail">
</suds:class>
<operation name="get_Id">
<soap:operation
soapAction="http://schemas.microsoft.com/clr/nsassem/Brooks.EES.Framework.DataAccess.EmpDetail/Brooks.EES.Framework.DataStructure#get_Id"/>
<suds:method attributes="public"/>
<input name="get_IdRequest">
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://schemas.microsoft.com/clr/nsassem/Brooks.EES.Framework.DataAccess.EmpDetail/Brooks.EES.Framework.DataStructure"/>
</input>
<output name="get_IdResponse">
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://schemas.microsoft.com/clr/nsassem/Brooks.EES.Framework.DataAccess.EmpDetail/Brooks.EES.Framework.DataStructure"/>
</output>
</operation>
<operation name="set_Id">
<soap:operation
soapAction="http://schemas.microsoft.com/clr/nsassem/Brooks.EES.Framework.DataAccess.EmpDetail/Brooks.EES.Framework.DataStructure#set_Id"/>
<suds:method attributes="public"/>
<input name="set_IdRequest">
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://schemas.microsoft.com/clr/nsassem/Brooks.EES.Framework.DataAccess.EmpDetail/Brooks.EES.Framework.DataStructure"/>
</input>
<output name="set_IdResponse">
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://schemas.microsoft.com/clr/nsassem/Brooks.EES.Framework.DataAccess.EmpDetail/Brooks.EES.Framework.DataStructure"/>
</output>
</operation>
<operation name="get_Description">
<soap:operation
soapAction="http://schemas.microsoft.com/clr/nsassem/Brooks.EES.Framework.DataAccess.EmpDetail/Brooks.EES.Framework.DataStructure#get_Description "/>
<suds:method attributes="public"/>
<input name="get_DescriptionRequest">
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://schemas.microsoft.com/clr/nsassem/Brooks.EES.Framework.DataAccess.EmpDetail/Brooks.EES.Framework.DataStructure"/>
</input>
<output name="get_DescriptionResponse">
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://schemas.microsoft.com/clr/nsassem/Brooks.EES.Framework.DataAccess.EmpDetail/Brooks.EES.Framework.DataStructure"/>
</output>
</operation>
<operation name="set_Description">
<soap:operation
soapAction="http://schemas.microsoft.com/clr/nsassem/Brooks.EES.Framework.DataAccess.EmpDetail/Brooks.EES.Framework.DataStructure#set_Description "/>
<suds:method attributes="public"/>
<input name="set_DescriptionRequest">
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://schemas.microsoft.com/clr/nsassem/Brooks.EES.Framework.DataAccess.EmpDetail/Brooks.EES.Framework.DataStructure"/>
</input>
<output name="set_DescriptionResponse">
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://schemas.microsoft.com/clr/nsassem/Brooks.EES.Framework.DataAccess.EmpDetail/Brooks.EES.Framework.DataStructure"/>
</output>
</operation>
</binding>

<service name="MyRemoteObjectService">
<port name="MyRemoteObjectPort" binding="tns:MyRemoteObjectBinding">
<soap:address location="http://localhost:8086/x.MyTest"/>
</port>
</service>
</definitions>



-----------------------------------------------------------------
Here is the correct wsdl with type information:
------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="MyRemoteObject"
targetNamespace="http://schemas.microsoft.com/clr/nsassem/RemoteServer/RemoteServer%2C%20Version%3D1.0.0.0%2C%20Culture%3 Dneutral%2C%20PublicKeyToken%3Dnull"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://schemas.microsoft.com/clr/nsassem/RemoteServer/RemoteServer%2C%20Version%3D1.0.0.0%2C%20Culture%3 Dneutral%2C%20PublicKeyToken%3Dnull"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:suds="http://www.w3.org/2000/wsdl/suds"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns2="http://schemas.microsoft.com/clr/nsassem/RemoteServer.MyRemoteObject/RemoteServer%2C%20Version%3D1.0.0.0%2C%20Culture%3 Dneutral%2C%20PublicKeyToken%3Dnull"
xmlns:ns0="http://schemas.microsoft.com/clr/nsassem/RemoteServer/RemoteServer%2C%20Version%3D1.0.0.0%2C%20Culture%3 Dneutral%2C%20PublicKeyToken%3Dnull"
xmlns:ns1="http://schemas.microsoft.com/clr/ns/System"
xmlns:ns3="http://schemas.microsoft.com/clr/nsassem/Brooks.EES.Framework.DataAccess/Brooks.EES.Framework.DataStructure%2C%20Version%3D 1.0.1.1%2C%20Culture%3Dneutral%2C%20PublicKeyToken %3Dbbf6413da47c0685"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<types>
<schema
targetNamespace="http://schemas.microsoft.com/clr/nsassem/Brooks.EES.Framework.DataAccess/Brooks.EES.Framework.DataStructure%2C%20Version%3D 1.0.1.1%2C%20Culture%3Dneutral%2C%20PublicKeyToken %3Dbbf6413da47c0685"
xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified"
attributeFormDefault="unqualified">
<element name="EmpDetail" type="ns3:EmpDetail"/>
<complexType name="EmpDetail">
<all>
<element name="_Id" type="xsd:string"/>
<element name="_description" type="xsd:string"/>
</all>
</complexType>
</schema>
</types>

<message name="MyRemoteObject.GetEmpInfoInput">
</message>
<message name="MyRemoteObject.GetEmpInfoOutput">
<part name="return" type="ns3:EmpDetail"/>
</message>

<portType name="MyRemoteObjectPortType">
<operation name="GetEmpInfo">
<input name="GetEmpInfoRequest"
message="tns:MyRemoteObject.GetEmpInfoInput"/>
<output name="GetEmpInfoResponse"
message="tns:MyRemoteObject.GetEmpInfoOutput"/>
</operation>
</portType>

<binding name="MyRemoteObjectBinding" type="tns:MyRemoteObjectPortType">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<suds:class type="ns0:MyRemoteObject" rootType="MarshalByRefObject">
</suds:class>
<operation name="GetEmpInfo">
<soap:operation
soapAction="http://schemas.microsoft.com/clr/nsassem/RemoteServer.MyRemoteObject/RemoteServer#GetEmpInfo"/>
<suds:method attributes="public"/>
<input name="GetEmpInfoRequest">
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://schemas.microsoft.com/clr/nsassem/RemoteServer.MyRemoteObject/RemoteServer"/>
</input>
<output name="GetEmpInfoResponse">
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://schemas.microsoft.com/clr/nsassem/RemoteServer.MyRemoteObject/RemoteServer"/>
</output>
</operation>
</binding>

<portType name="EmpDetailPortType">
</portType>

<binding name="EmpDetailBinding" type="tns:EmpDetailPortType">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<suds:class type="ns3:EmpDetail">
</suds:class>
</binding>

<service name="MyRemoteObjectService">
<port name="MyRemoteObjectPort" binding="tns:MyRemoteObjectBinding">
<soap:address location="http://localhost:8086/x.MyTest"/>
</port>
</service>
</definitions>
Feb 24 '06 #1
0 4799

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

Similar topics

2
by: joewhitehair | last post by:
Using the XSD.exe tool, I created a number of classes from my XSD file. When I generate the WSDL for my web service, the schema does not have the proper Occurance constraints for the attributes. In...
1
by: ffhansix | last post by:
Hi, I am having problems with generating a c# proxy class from a IBM websphere WSDL file, when running the wsdl.exe to create the c# proxy file command i recieve an error: Warning: one or...
1
by: Carsten Posingies | last post by:
Hi NG, I've got this annoying problem: On the server's side there's an Apache w/ PHP running. I wrote a kind of "bare bones" SOAP implementation, though meeting the SOAP specs. Afaics this...
1
by: billa1972 | last post by:
Hi, I am trying to hook into Yellow Freight's rating webservice. Below is the wsdl. When i try and create a proxy file with wsdl.exe i get the following errors, see below. Also, when i...
2
by: pshvarts | last post by:
(I'm new in SOAP) I get some wsdl file (from apache service ). I tried creating SOAP client with .NET - trying to add Web Reference and get error like: "Custom tool error: Unable to import...
0
by: Jigar.Patel | last post by:
I have simple remoting server exposing following simple method. When I try to add webreference to this server in another project by serveraddresss?wsdl, it gives me following error: Custom tool...
0
by: Andreas | last post by:
Hi, Im trying to consume a webservice described by the WSDL below, however When i try to add the WSDL it does not work, tried to run it through WSDL.EXE It validates in XMLSpy, but WSDL.exe...
1
by: E11 | last post by:
Hi all, I am composing a SOAP request message from a WSDL definition, and it seems that my concept of namespaces is wrong. The "types" section of the WSDL definition is as follows: ...
13
by: ScottM | last post by:
I have run into a problem generating the class file via the WSDL utility. I have a WSDL file that was generated by XMLSpy and is able to be read by the Java code utility, but I get the following...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
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...
0
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...

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.