可以为契约定义命名空间。契约的命名空间具有与.NET编程相同的目的:确定契约的类型范围,以降低类型的冲突几率。可以使用ServiceContract类型的Namespace属性设置命名空间:

[ServiceContract(Namespace ="http://error.zdit.cn")]

interface IMyContract

{...}

若非特别指定,契约的默认命名空间为http://tempuri.org。对外服务的命名空间通常使用公司的URL;
但是指定了Namespace,但是仍然出现了http://tempuri.org。看了很多文档仍然没有找到如何控制这个命名空间的地方,如有朋友遇到请留言。谢谢!(当然这个URL是http://tempuri.org也没有关系的,只是想把这个修改了,看着http://tempuri.org这个就感觉不舒服得)
具体看下面的WSDL:
  <?xml version="1.0" encoding="utf-8" ?> - <wsdl:definitions name="GA" targetNamespace="http://error.zdit.cn" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:tns="http://error.zdit.cn" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:i0="http://tempuri.org/" xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex">

  <wsdl:import namespace="http://tempuri.org/" location="http://192.168.1.101:8322/Event?wsdl=wsdl0" />
  <wsdl:types />
- <wsdl:service name="GA">
- <wsdl:port name="BasicHttpBinding_IServer" binding="i0:BasicHttpBinding_IServer">
  <soap:address location="http://192.168.1.101:8322/Event" />
  </wsdl:port>
  </wsdl:service>
  </wsdl:definitions>
posted on 2008-09-22 15:46  rosanshao  阅读(1141)  评论(2编辑  收藏  举报