I created a WCF service with net framework 4.0 on Windows OS;
and its works OK use SVCUtil to generate client code file.
but its failed on ubuntu apache with mono.
error info below:
exception :System.ServiceModel.Description.DataContractSerializerMessageContractImporter
details:
Due to the namespace "http://schemas.datacontract.org/2004/07/System" with data
contract name "MarshalByRefObject" reference types "System. MarshalByRefObject,
mscorlib, VerSion = 4.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089 "
with import DataConTract does not match, so can't use. you need to remove the
type of the reference.
but how can i remove the type of the reference MarshalByRefObject on mono?
Any assistance would be appreciated. Thanks a bunch for your help.
Related
Background: I have a WCF project that is using Microsoft Enterprise Library WCF Exception Handling.
We recently decided to move our operation and data contracts into a separate project (.net assembly) called comanynamespace.xxx.WCF.Utilities. After moving the operation and data contracts, I changed the faultContractType namespace to reflect the new assembly.
Now when I launch the web service in VS2010 I get the following error:
Activation error occured while trying to get instance of type ExceptionPolicyImpl, key "WCF Exception Shielding"
I have tried: ensuring the same references exist in both projects and ensuring that both projects are running under .net 4 (no client modes), etc. Neither helped resolve the issue.
Finally, I copied the Service Fault class back into the Web Service project and changed the namespace in the web.config to point back to the local namespace:
from:
faultContractType="comanynamespace.xxx.WCF.Utilities.ServiceFault, comanynamespace.xxx.WCF.Utilities.Services"
to:
faultContractType="comanynamespace.xxx.Web.Services.ServiceFault, comanynamespace.xxx.Web.Services"
This does resolve the error, however, now I must have my service fault data contract in both locations.
Does anyone know why I am unable to use a service fault (data contract) in another .net assembly with Microsoft EL WCF Exception Handling?
The problem ended up being that the namespace (second part) of the faultcontracttype was set to
faultContractType="companyname.xxx.WCF.Utilities.Services.ServiceFault, companyname.xxx.WCF.Utilities.Services"
instead of
faultContractType="companyname.xxx.WCF.Utilities.Services.ServiceFault, companyname.xxx.WCF.Utilities"
companyname.xxx.WCF.Utilities is the namespace for the assembly.
some of my methods in the WCF Service returns an entities from the Entity Framework. I cannot add the Web Service reference in my Windows Phone 7 application because of that warning:
Custom tool warning: Cannot import
wsdl:portType Detail: An exception was
thrown while running a WSDL import
extension:
System.ServiceModel.Description.DataContractSerializerMessageContractImporter
Error: Could not load type
'System.Runtime.Serialization.DataContractSet'
from assembly
'System.Runtime.Serialization,
Version=2.0.5.0, Culture=neutral,
PublicKeyToken=7cec85d7bea7798e'.
XPath to Error Source:
//wsdl:definitions[#targetNamespace='http://tempuri.org/']/wsdl:portType[#name='IBarnGameServiceNEW'] D:\MGameWindowsPhone7\Service
References\ServiceReference3\Reference.svcmap
What's the reason ?
Run Visual Studio not under Administrator account. This helps me.
I have to following problem. In my application I used a service reference to a non-WCF service from some external company. I created a proxy class using svcutil.exe tool. Everything worked fine for about a year.
Yesterday however, clients reported that it's not possible to get any response from the service. I figured out that the error returned from the service was:
The formatter threw an exception while
trying to deserialize the message:
There was an error while trying to
deserialize parameter
http://serviceurl:someResponse. The
InnerException message was 'There was
an error deserializing the object of
type specificType
So, what I did I firstly updated the service reference and also generated the new proxy using svcutil.exe. The problem still occurs.
I resolve the problem by using either 1) wsdl.exe tool to generate proxy class 2) add web reference (which behind the scenes using wsdl.exe tool internally to create proxy).
My question is : Why everything worked fine for a quite long time even if I used a service reference? How can I checked whether has something changed in the web service? Any help would be appreciated.
Contact the company that provides the web service and find out what changed.
I have wsdl file with me.But i don't have access to the file where it is deployed.
I need to generate proxy class using the WSDl file. I am getting error while using svcutil.ece to generate proxy file
Error: Cannot import wsdl:port Detail:
Cannot find definition for
http://www.cii.com/Soa/Foundation:Basi
cHttp. Service Description with
namespace
htt://www.cii.com/Soa/Foundat ion is
missing. Parameter name: name XPath to
Error Source:
//wsdl:definitions[#targetNamespace='http://www.cii.com/Soa/Foundation/MessageDefinition.xsd']/wsdl:service[#name='CareerServicesS
ervice']/wsdl:port[#name='BasicHttp']
Thanks,
Shodhan
If you are using svcutil with a locally downloaded WSDL file, you need to also download all related XSD files and pass them on the svcutil command line as well. A great tool for automatically downloading all related XSD files is disco.exe in the Windows / .NET SDK (and there may be a svcutil mode that does it as well, don't remember for sure).
I am using the Silvelight Business Application template. I wrote a function which uses Membership.getUserList function to return the user list. I tried exposing it as Service using WCF. But when I try to compile the client side code it throws a warning saying "Client Proxy Generation for user_authentication.Web.Service1 failed'. Why does it happen?
The complete warning message is:
Warning 4 Client proxy generation for
service
'user_authentication.Web.Service1'
failed: Generating metadata files...
Warning: Unable to load a service with
configName
'user_authentication.Web.Service1'. To
export a service provide both the
assembly containing the service type
and an executable with configuration
for this service.
Details:Either none of the assemblies passed were executables
with configuration files or none of
the configuration files contained
services with the config name
'user_authentication.Web.Service1'.
Warning: No metadata files were
generated. No service contracts were
exported. To export a service, use
the /serviceName option. To export
data contracts, specify the
/dataContractOnly option. This can
sometimes occur in certain security
contexts, such as when the assembly is
loaded over a UNC network file share.
If this is the case, try copying the
assembly into a trusted environment
and running it.
Hard to say, I'm not a good enough clairvoyant yet ;-) ... Is your webservice actually already compiled, published and running? Maybe here you can find further hints:
MSDN WCF Forums: svcutil Error