当前在线人数17334
首页 - 分类讨论区 - 电脑网络 - 窗口里的风景版 - 同主题阅读文章

此篇文章共收到打赏
0

  • 10
  • 20
  • 50
  • 100
您目前伪币余额:0
未名交友
[更多]
[更多]
add web service
[版面:窗口里的风景][首篇作者:AlbertLin] , 2014年01月22日12:02:51 ,1088次阅读,13次回复
来APP回复,赚取更多伪币 关注本站公众号:
[分页:1 ]
AlbertLin
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 1 ]

发信人: AlbertLin (Albert Lin), 信区: DotNet
标  题: add web service
发信站: BBS 未名空间站 (Wed Jan 22 12:02:51 2014, 美东)

web service 我做的不多, 一般情况下我用“Add Service Reference", 在address
里面输入web service 的URL, 找到service,在code里面就可以使用。 我现在输入“
https://xxxxxx.com/2007-08/Nodal/eEDS/EWS/“, 得到下面的message:

There was an error downloading 'https://xxxxxx.com/2007-08/Nodal/eEDS/EWS/'.
The request failed with the error message:
--
<soap:Envelope
    xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>
<soap:Header>
</soap:Header>
<soap:Body>
  <soap:Fault>
   <faultcode>soap:Client</faultcode>
   <faultstring>SECU1080: The security contract requires the document to be
SOAP</faultstring>
  </soap:Fault>
</soap:Body>
</soap:Envelope>

--.
Metadata contains a reference that cannot be resolved: 'https://misapi.ercot
.com/2007-08/Nodal/eEDS/EWS/'.
The content type text/xml of the response message does not match the content
type of the binding (application/soap+xml; charset=utf-8). If using a
custom encoder, be sure that the IsContentTypeSupported method is
implemented properly. The first 954 bytes of the response were: '<?xml
version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<wsa:To xmlns:wsa="http://www.w3.org/2005/08/addressing">http://www.w3.org/2005/08/addressing/anonymous</wsa:To><wsa:Action xmlns:wsa="http://www.w3.org/2005/08/addressing">http://www.w3.org/2005/08/addressing/fault</wsa:Action><wsa:From xmlns:wsa="http://www.w3.org/2005/08/addressing"><wsa:Address>https://misapi.ercot.com/2007-08/Nodal/eEDS/EWS/</wsa:Address></wsa:From><wsa:MessageID xmlns:wsa="http://www.w3.org/2005/08/addressing">uuid:UMeWUqG0GDAoBk2lQwEgkVEK</wsa:MessageID><wsa:RelatesTo xmlns:wsa="http://www.w3.org/2005/08/addressing">urn:uuid:b3d4ae05-b4db-47c2-adad-9e2b2af56891</wsa:RelatesTo></soap:Header>
<soap:Body>
  <soap:Fault>
   <faultcode>soap:Client</faultcode>
   <faultstring>RUNTIME0031: Failed to locate the operation for this SOAP
call.</faultstring>
  </soap:Fault>
</soap:Body>
</soap:Envelope>'.
The remote server returned an error: (500) Internal Server Error.
If the service is defined in the current solution, try building the solution
and adding the service reference again.


我装了他们的certificate,我不明白问题在哪。如果说(500) Internal Server Error
是server端的问题,可是对方说其他公司又work。 是不是所有的web service都是这
样加的,还是有其他方法?

谢谢高人指点




--

※ 来源:·WWW 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 66.]

 
Spark
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 2 ]

发信人: Spark (spark), 信区: DotNet
标  题: Re: add web service
发信站: BBS 未名空间站 (Thu Jan 23 09:27:41 2014, 美东)

https://misapi.ercot.com/2007-08/Nodal/eEDS/EWS/?wsdl
--

※ 来源:·WWW 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 72.]

 
a9
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 3 ]

发信人: a9 (嗯), 信区: DotNet
标  题: Re: add web service
发信站: BBS 未名空间站 (Thu Jan 23 10:32:34 2014, 美东)

你应该输入wsdl还是啥的那个url吧。

【 在 AlbertLin (Albert Lin) 的大作中提到: 】
: 标  题: add web service
: 发信站: BBS 未名空间站 (Wed Jan 22 12:02:51 2014, 美东)
:
: web service 我做的不多, 一般情况下我用“Add Service Reference", 在
address
: 里面输入web service 的URL, 找到service,在code里面就可以使用。 我现在输入“
: https://xxxxxx.com/2007-08/Nodal/eEDS/EWS/“, 得到下面的message:
:
: There was an error downloading 'https://xxxxxx.com/2007-08/Nodal/eEDS/EWS/
'.
: The request failed with the error message:
: --
: <soap:Envelope
:     xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>
:  <soap:Header>
:  </soap:Header>
:  <soap:Body>
:   <soap:Fault>
:    <faultcode>soap:Client</faultcode>
:    <faultstring>SECU1080: The security contract requires the document to
be
: SOAP</faultstring>
:   </soap:Fault>
:  </soap:Body>
: </soap:Envelope>
:
: --.
: Metadata contains a reference that cannot be resolved: 'https://misapi.
ercot
: .com/2007-08/Nodal/eEDS/EWS/'.
: The content type text/xml of the response message does not match the
content
:  type of the binding (application/soap+xml; charset=utf-8). If using a
: custom encoder, be sure that the IsContentTypeSupported method is
: implemented properly. The first 954 bytes of the response were: '<?xml
: version="1.0" encoding="UTF-8"?>
: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
:  <soap:Header>
:  <wsa:To xmlns:wsa="http://www.w3.org/2005/08/addressing">http://www.w3.org/2005/08/addressing/anonymous</wsa:To><wsa:Action xmlns:wsa="http://www.w3.org/2005/08/addressing">http://www.w3.org/2005/08/addressing/fault</wsa:Action><wsa:From xmlns:wsa="http::  <soap:Body>
:   <soap:Fault>
:    <faultcode>soap:Client</faultcode>
:    <faultstring>RUNTIME0031: Failed to locate the operation for this SOAP
: call.</faultstring>
:   </soap:Fault>
:  </soap:Body>
: </soap:Envelope>'.
: The remote server returned an error: (500) Internal Server Error.
: If the service is defined in the current solution, try building the
solution
:  and adding the service reference again.
:
:
: 我装了他们的certificate,我不明白问题在哪。如果说(500) Internal Server
Error
:  是server端的问题,可是对方说其他公司又work。 是不是所有的web service都是这
: 样加的,还是有其他方法?
:
: 谢谢高人指点
:
:
:
:
: --
:
: ※ 来源:·WWW 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 66.]



--

※ 来源:·BBS 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 71.]

 
AlbertLin
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 4 ]

发信人: AlbertLin (Albert Lin), 信区: DotNet
标  题: Re: add web service
发信站: BBS 未名空间站 (Thu Jan 23 16:47:51 2014, 美东)

加了也没用。

他们的做法是去他们的网站下载需要的wsdl和xsd files。 用svcutil 建一个cs和一个
config 文件, 然后在写function。

他们说function最后送出去的format like below:

?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
   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:Header>
       <wsse:Security soapenv:mustUnderstand="1".....>
          <wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/....................................>
        .........................
      </wsse:Security>  
   </soapenv:Header>
   <soapenv:Body>
     <ns1:RequestMessage .....>
       <ns1:Header>

       </ns1:Header>
       <ews:Request.....>
         .........
       </ews:Request>
    </ns1:RequestMessage>
   </soapenv:Body>
</soapenv:Envelope>

RequestMessage这部分我可以用他们产生的那个cs来建立,可是“<soapenv:Header>”
这部分他们说用 standard WCF coding。

有谁做过他们家的project, 和web service有关的?跪求

--

※ 来源:·WWW 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 66.]

 
a9
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 5 ]

发信人: a9 (嗯), 信区: DotNet
标  题: Re: add web service
发信站: BBS 未名空间站 (Fri Jan 24 00:13:09 2014, 美东)

实在不行直接手动组xml得了。估计你也没几个参数
我记得很久以前做过这东西,现在忘的差不多了。大概是给生成的cs文件里加一堆[]的
属性后来搞出来了。当然不是搞的你这个东西,是另外的一个。

【 在 AlbertLin (Albert Lin) 的大作中提到: 】
: 标  题: Re: add web service
: 发信站: BBS 未名空间站 (Thu Jan 23 16:47:51 2014, 美东)
:
: 加了也没用。

: 他们的做法是去他们的网站下载需要的wsdl和xsd files。 用svcutil 建一个cs和一个
: config 文件, 然后在写function。
:
: 他们说function最后送出去的format like below:
:
: ?xml version="1.0" encoding="UTF-8"?>
: <soapenv:Envelope
:    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:Header>
:        <wsse:Security soapenv:mustUnderstand="1".....>
:           <wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/....................................>
:         .........................
:       </wsse:Security>  
:    </soapenv:Header>
:    <soapenv:Body>
:      <ns1:RequestMessage .....>
:        <ns1:Header>
:
:        </ns1:Header>
:        <ews:Request.....>
:          .........
:        </ews:Request>
:     </ns1:RequestMessage>
:    </soapenv:Body>
: </soapenv:Envelope>
:
: RequestMessage这部分我可以用他们产生的那个cs来建立,可是“<soapenv:Header>”
: 这部分他们说用 standard WCF coding。
:
: 有谁做过他们家的project, 和web service有关的?跪求
:
: --
:
: ※ 来源:·WWW 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 66.]



--

※ 来源:·BBS 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 71.]

 
convergence
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 6 ]

发信人: convergence (Rex), 信区: DotNet
标  题: Re: add web service
发信站: BBS 未名空间站 (Fri Jan 24 12:06:12 2014, 美东)

还在用soap啊,現在都restful了。


【 在 AlbertLin (Albert Lin) 的大作中提到: 】
: web service 我做的不多, 一般情况下我用“Add Service Reference", 在
address
: 里面输入web service 的URL, 找到service,在code里面就可以使用。 我现在输入“
: https://xxxxxx.com/2007-08/Nodal/eEDS/EWS/“, 得到下面的message:
: There was an error downloading 'https://xxxxxx.com/2007-08/Nodal/eEDS/EWS/
'.
: The request failed with the error message:



--
The person without sin can throw the first stone.


※ 来源:·WWW 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 206.]

 
AlbertLin
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 7 ]

发信人: AlbertLin (Albert Lin), 信区: DotNet
标  题: Re: add web service
发信站: BBS 未名空间站 (Fri Jan 24 16:03:50 2014, 美东)

你找人借东西,人家说你给我一元RMB我就借你, 你说别人家都要美金了?
没办法啊老大,人家用什么我们就用什么啊。


【 在 convergence (Rex) 的大作中提到: 】
: 还在用soap啊,現在都restful了。
: address
: '.



--

※ 来源:·WWW 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 66.]

 
AlbertLin
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 8 ]

发信人: AlbertLin (Albert Lin), 信区: DotNet
标  题: Re: add web service
发信站: BBS 未名空间站 (Fri Jan 24 16:04:49 2014, 美东)

直接手动组xml?更鸡毛,直接给 500 internal error。
--

※ 来源:·WWW 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 66.]

 
a9
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 9 ]

发信人: a9 (嗯), 信区: DotNet
标  题: Re: add web service
发信站: BBS 未名空间站 (Fri Jan 24 16:21:04 2014, 美东)

那显然是你组的不对,呵呵。

【 在 AlbertLin (Albert Lin) 的大作中提到: 】
: 标  题: Re: add web service
: 发信站: BBS 未名空间站 (Fri Jan 24 16:04:49 2014, 美东)
:
: 直接手动组xml?更鸡毛,直接给 500 internal error。
: --
:
: ※ 来源:·WWW 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 66.]



--

※ 来源:·BBS 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 24.]

 
AlbertLin
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 10 ]

发信人: AlbertLin (Albert Lin), 信区: DotNet
标  题: Re: add web service
发信站: BBS 未名空间站 (Fri Jan 24 17:08:36 2014, 美东)

我就是用对方给我的sample request。 没理由不对,具体的参数可能不对,但是
format我想没问题。
--

※ 来源:·WWW 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 66.]

 
kknn
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 11 ]

发信人: kknn (浪客刀心@两条腿的青蛙), 信区: DotNet
标  题: Re: add web service
发信站: BBS 未名空间站 (Fri Jan 24 18:18:53 2014, 美东)

那是纯soap, 你得拿对方的schema文件, 用svcutilty生成proxy 本地代码.  具体忘了.
的确很难用.  还不如回信骂他们一顿, 什么破公司,还在用15年前的技术, 连web
service wsdl都搞不定. 说不定他们就给你新api 了.


【 在 AlbertLin (Albert Lin) 的大作中提到: 】
: web service 我做的不多, 一般情况下我用“Add Service Reference", 在
address
: 里面输入web service 的URL, 找到service,在code里面就可以使用。 我现在输入“
: https://xxxxxx.com/2007-08/Nodal/eEDS/EWS/“, 得到下面的message:
: There was an error downloading 'https://xxxxxx.com/2007-08/Nodal/eEDS/EWS/
'.
: The request failed with the error message:



--
发自Android MITBBS阅览器 8.5
--

※ 修改:·kknn 於 Jan 24 18:19:57 2014 修改本文·[FROM: 70.]
※ 来源:·WWW 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 70.]

 
AlbertLin
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 12 ]

发信人: AlbertLin (Albert Lin), 信区: DotNet
标  题: Re: add web service
发信站: BBS 未名空间站 (Wed Jan 29 12:58:26 2014, 美东)

呵呵, 他们sample code都不给,你还指望他们给你新api? 你们知道什么是 primary
signature吗? 我现在的error是the primary signature must be encrypted。

我现在的function可以送request, 用fiddler我也可以看到response, 可是用他们的
proxy得到reponse就出错。我想是不是我的setting不对。


            EndpointAddress ea = new EndpointAddress("https://misapi.ercot.
com/2007-08/Nodal/eEDS/EWS/");
            System.ServiceModel.Channels.CustomBinding custombinding = new
System.ServiceModel.Channels.CustomBinding();
            
            System.ServiceModel.Channels.AsymmetricSecurityBindingElement
sbe = System.ServiceModel.Channels.AsymmetricSecurityBindingElement.
CreateMutualCertificateDuplexBindingElement(MessageSecurityVersion.
WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPol
icy11BasicSecurityProfile10);
            sbe.SecurityHeaderLayout = System.ServiceModel.Channels.
SecurityHeaderLayout.Strict;
            sbe.IncludeTimestamp = false;
            sbe.SetKeyDerivation(false);
            sbe.LocalClientSettings.MaxClockSkew = new TimeSpan (0,3,0);
            sbe.LocalClientSettings.ReplayWindow = new TimeSpan(0, 2, 0);
            sbe.LocalClientSettings.ReplayCacheSize = 10000;
            sbe.LocalServiceSettings.MaxClockSkew = new TimeSpan(0, 3, 0);
            sbe.AllowSerializedSigningTokenOnReply = true;
            sbe.RequireSignatureConfirmation = false;
            
            System.ServiceModel.Channels.HttpsTransportBindingElement
transport = new System.ServiceModel.Channels.HttpsTransportBindingElement();

            custombinding.Elements.Add(sbe);
            custombinding.Elements.Add(new System.ServiceModel.Channels.
TextMessageEncodingBindingElement(System.ServiceModel.Channels.
MessageVersion.Soap11, System.Text.Encoding.UTF8));
            custombinding.Elements.Add(transport);


            OperationsClient client = new OperationsClient(custombinding,ea);
           
            //client certificate
            System.Security.Cryptography.X509Certificates.X509Certificate2
ercotcert = new System.Security.Cryptography.X509Certificates.
X509Certificate2("C:\ESettlement\ESettlementConsole\albertqse2014.pfx","xxx"
);
            client.ClientCredentials.ClientCertificate.Certificate =
ercotcert;
           
            //server certificate
            System.Security.Cryptography.X509Certificates.X509Certificate2
ercotservicecert = new System.Security.Cryptography.X509Certificates.
X509Certificate2("C:\ESettlement\ESettlementConsole\misapi.ercot.com public
key.cer");
            client.ClientCredentials.ServiceCertificate.DefaultCertificate =
ercotservicecert;
            client.Open();
            
           
            DateTime dt = DateTime.Now.AddDays(-1);
            RequestMessage RM = new RequestMessage();
            RequestType rt = new RequestType();
            HeaderType ht = new HeaderType();

            rt.StartTime = new DateTime(dt.Year,dt.Month,dt.Day,0,0,0,0);
            rt.StartTimeSpecified = true;
            rt.EndTime = new DateTime(dt.Year, dt.Month, dt.Day, 23, 59, 59,
999);
            rt.EndTimeSpecified = true;
            rt.Option = "11113";//Real Time Market Consolidated Operating
Day Extract
            rt.OperatingDate = DateTime.Now;
           
            ht.UserID = "API_xxxx";
            ht.Verb = HeaderTypeVerb.get;
            ht.Noun = "Reports";
            AttributedDateTime adt = new AttributedDateTime();
            EncodedString es = new EncodedString();
            Random r = new Random();
            es.Value = r.Next().ToString();
           
            adt.Value = DateTime.Now.ToString("s");
            
            ReplayDetectionType rdt = new ReplayDetectionType();
            rdt.Created = adt;
            rdt.Nonce = es;
            ht.ReplayDetection = rdt;

            ht.Revision = "001";
            ht.Source = "7800613002000";
            //ht.MessageID = "151451";
            RM.Header = ht;
            RM.Request = rt;

            XmlSerializer ser = new XmlSerializer(RM.GetType());
            StringWriter sw = new StringWriter();
            ser.Serialize(sw, RM);
            string xml = sw.ToString();
            try
            {
                ResponseMessage responsemessage = client.MarketInfo(RM);
            }
            catch (Exception ex)
            {
                //client.Close();
            }
--

※ 修改:·AlbertLin 於 Jan 29 12:59:14 2014 修改本文·[FROM: 66.]
※ 来源:·WWW 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 66.]

 
AlbertLin
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 13 ]

发信人: AlbertLin (Albert Lin), 信区: DotNet
标  题: Re: add web service
发信站: BBS 未名空间站 (Thu Jan 30 13:02:38 2014, 美东)

总算告一段落,谢谢各位
--

※ 来源:·WWW 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 66.]

 
convergence
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 14 ]

发信人: convergence (Rex), 信区: DotNet
标  题: Re: add web service
发信站: BBS 未名空间站 (Sat Feb  8 12:53:20 2014, 美东)

8天才解决问题,这在我们公司要被赶走了。


【 在 AlbertLin (Albert Lin) 的大作中提到: 】
: 总算告一段落,谢谢各位



--
The person without sin can throw the first stone.


※ 来源:·WWW 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 206.]

[分页:1 ]
[快速返回] [ 进入窗口里的风景讨论区] [返回顶部]
回复文章
标题:
内 容:

未名交友
将您的链接放在这儿

友情链接


 

Site Map - Contact Us - Terms and Conditions - Privacy Policy

版权所有,未名空间(mitbbs.com),since 1996