Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / C#.NET, WebService call. Помогите правильно вызвать веб-сервис с передачей хидера. Correct / 16 сообщений из 16, страница 1 из 1
20.10.2009, 11:06
    #36261388
Kull Damned
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#.NET, WebService call. Помогите правильно вызвать веб-сервис с передачей хидера. Correct
В общем есть веб-сервис, который предоставляет 1С один из методов этого сервиса - регистрация нового товара. Вызвать влоб вебсервис через сгенеренную автоматически обертку от Visual Studio 2008 не получилось. Раскопки с помощью мегаутилиты soapUI 3.0.1 привели к следующим результатам:
Рабочий запрос:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ws="http://ones.target.ua/exchange/sms/ws" xmlns:dto="http://sms.target.ua/exchange/ones/ws/dto">
   <soap:Header/>
   <soap:Body>
      <ws:importItem>
         <ws:item>
            <dto:id>3C8FCA38-3A68-4E2A-936B-265F0D1DBA29</dto:id>
            <dto:name>Medved2</dto:name>
         </ws:item>
      </ws:importItem>
   </soap:Body>
</soap:Envelope>
Нерабочий запрос - отваливается по тайм-ауту:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ws="http://ones.target.ua/exchange/sms/ws" xmlns:dto="http://sms.target.ua/exchange/ones/ws/dto">
   <soap:Body>
      <ws:importItem>
         <ws:item>
            <dto:id>3C8FCA38-3A68-4E2A-936B-265F0D1DBA29</dto:id>
            <dto:name>Medved2</dto:name>
         </ws:item>
      </ws:importItem>
   </soap:Body>
</soap:Envelope>

Как в студии добиться того, чтобы сгенеренный прокси-класс генерировал такой же рабочий запрос?
Вот заголовок описания прокси-класса:
Код: plaintext
1.
2.
3.
4.
5.
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.3053")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name="SMSExchangeSoapBinding", Namespace="http://ones.target.ua/exchange/sms/ws")]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(baseEntity))]
    public partial class SMSExchange : System.Web.Services.Protocols.SoapHttpClientProtocol {
Вот описание стаба для вызова веб-метода:
Код: plaintext
1.
2.
3.
4.
5.
6.
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("", RequestNamespace="http://ones.target.ua/exchange/sms/ws", ResponseNamespace="http://ones.target.ua/exchange/sms/ws", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("return")]
        public string importItem(item item) {
            object[] results = this.Invoke("importItem", new object[] {
                        item});
            return ((string)(results[ 0 ]));
        }
Куда чего дописать?
Посещение этой статьи не помогло, хотя может я был невнимателен.
Из Java получилось инициализировать заголовок следующим образом:
Код: plaintext
bp.setOutboundHeaders(Headers.create(new QName("http://schemas.xmlsoap.org/soap/envelope/", "mustUnderstand"), "0"));
Но нужно таки на C#.

Будущего нет. И завтра не будет. ©

З.Ы. Прошу прощения за два кривых топика, тэг SRC - это пипец.
...
Рейтинг: 0 / 0
20.10.2009, 11:15
    #36261405
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#.NET, WebService call. Помогите правильно вызвать веб-сервис с передачей хидера. Correct
Поудалял уже всё, хорош кнопку давить =)
...
Рейтинг: 0 / 0
20.10.2009, 11:18
    #36261416
Kull Damned
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#.NET, WebService call. Помогите правильно вызвать веб-сервис с передачей хидера. Correct
hDrummerПоудалял уже всё, хорош кнопку давить =)Пасиба, Джуджу на вид нужно поставить, что нужны тэги "src xml" и "src java" и корректная обработка их...
...
Рейтинг: 0 / 0
20.10.2009, 11:40
    #36261485
Kull Damned
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#.NET, WebService call. Помогите правильно вызвать веб-сервис с передачей хидера. Correct
Может как-то через WCF это дело попробовать вызвать?

Будущего нет. И завтра не будет. ©
...
Рейтинг: 0 / 0
20.10.2009, 12:06
    #36261588
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#.NET, WebService call. Помогите правильно вызвать веб-сервис с передачей хидера. Correct
Kull DamnedМожет как-то через WCF это дело попробовать вызвать?

Будущего нет. И завтра не будет. ©

не думаю, что поможет....

попробуй здесь поменять Wrapped на другое значение и поэкспериментируй

Код: plaintext
ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)
...
Рейтинг: 0 / 0
20.10.2009, 12:14
    #36261621
Kull Damned
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#.NET, WebService call. Помогите правильно вызвать веб-сервис с передачей хидера. Correct
WinnipuhKull DamnedМожет как-то через WCF это дело попробовать вызвать?

Будущего нет. И завтра не будет. ©

не думаю, что поможет....

попробуй здесь поменять Wrapped на другое значение и поэкспериментируй

Код: plaintext
ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)
Bare - вылетает при вызове с ошибкой "Неверный формат"
Default - отваливается по тайм-ауту, как и Wrapped.
...
Рейтинг: 0 / 0
20.10.2009, 12:17
    #36261629
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#.NET, WebService call. Помогите правильно вызвать веб-сервис с передачей хидера. Correct
Kull DamnedWinnipuhKull DamnedМожет как-то через WCF это дело попробовать вызвать?

Будущего нет. И завтра не будет. ©

не думаю, что поможет....

попробуй здесь поменять Wrapped на другое значение и поэкспериментируй

Код: plaintext
ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)
Bare - вылетает при вызове с ошибкой "Неверный формат"
Default - отваливается по тайм-ауту, как и Wrapped.

с этим поиграй

Use=System.Web.Services.Description.SoapBindingUse.Literal
...
Рейтинг: 0 / 0
20.10.2009, 12:23
    #36261649
Диез
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#.NET, WebService call. Помогите правильно вызвать веб-сервис с передачей хидера. Correct
Kull Damned,

А какой WSDL? И как вызываете метод?
...
Рейтинг: 0 / 0
20.10.2009, 13:21
    #36261843
Kull Damned
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#.NET, WebService call. Помогите правильно вызвать веб-сервис с передачей хидера. Correct
ДиезKull Damned,

А какой WSDL? И как вызываете метод?
WSDL:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
		xmlns:soap12bind="http://schemas.xmlsoap.org/wsdl/soap12/"
		xmlns:soapbind="http://schemas.xmlsoap.org/wsdl/soap/"
		xmlns:tns="http://ones.target.ua/exchange/sms/ws"
		xmlns:xsd="http://www.w3.org/2001/XMLSchema"
		xmlns:xsd1="http://ones.target.ua/exchange/sms/ws"
		xmlns:xsd2="http://sms.target.ua/exchange/ones/ws/dto"
		name="SMSExchange"
		targetNamespace="http://ones.target.ua/exchange/sms/ws">
	<types>
		<xs:schema xmlns:tns="http://sms.target.ua/exchange/ones/ws/dto"
				xmlns:xs="http://www.w3.org/2001/XMLSchema"
				targetNamespace="http://sms.target.ua/exchange/ones/ws/dto"
				attributeFormDefault="unqualified"
				elementFormDefault="qualified">
			<xs:complexType name="baseEntity">
				<xs:sequence>
					<xs:element name="id"
							type="tns:uuid"/>
				</xs:sequence>
			</xs:complexType>
			<xs:complexType name="descriptiveBaseEntity">
				<xs:complexContent>
					<xs:extension base="tns:namedBaseEntity">
						<xs:sequence>
							<xs:element name="description"
									type="xs:string"
									minOccurs="0"/>
						</xs:sequence>
					</xs:extension>
				</xs:complexContent>
			</xs:complexType>
			<xs:complexType name="document"
					abstract="true">
				<xs:complexContent>
					<xs:extension base="tns:baseEntity">
						<xs:sequence>
							<xs:element name="lines"
									nillable="true"
									minOccurs="0"
									maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:extension>
				</xs:complexContent>
			</xs:complexType>
			<xs:complexType name="documentLine"
					abstract="true">
				<xs:complexContent>
					<xs:extension base="tns:baseEntity">
						<xs:sequence>
							<xs:element name="lineNumber"
									type="xs:int"/>
						</xs:sequence>
					</xs:extension>
				</xs:complexContent>
			</xs:complexType>
			<xs:complexType name="enumerationElement">
				<xs:complexContent>
					<xs:extension base="tns:descriptiveBaseEntity">
						<xs:sequence>
							<xs:element name="enumerationId"
									type="tns:uuid"
									minOccurs="0"/>
						</xs:sequence>
					</xs:extension>
				</xs:complexContent>
			</xs:complexType>
			<xs:complexType name="hierarchyElement">
				<xs:complexContent>
					<xs:extension base="tns:descriptiveBaseEntity">
						<xs:sequence>
							<xs:element name="lvl"
									type="xs:int"
									minOccurs="0"/>
							<xs:element name="parentId"
									type="tns:uuid"
									minOccurs="0"/>
						</xs:sequence>
					</xs:extension>
				</xs:complexContent>
			</xs:complexType>
			<xs:complexType name="item">
				<xs:complexContent>
					<xs:extension base="tns:namedBaseEntity">
						<xs:sequence>
							<xs:element name="itemGroupId"
									type="tns:uuid"
									minOccurs="0"/>
							<xs:element name="primaryUOMName"
									type="xs:string"
									minOccurs="0"/>
						</xs:sequence>
					</xs:extension>
				</xs:complexContent>
			</xs:complexType>
			<xs:complexType name="itemGroup">
				<xs:complexContent>
					<xs:extension base="tns:hierarchyElement"/>
				</xs:complexContent>
			</xs:complexType>
			<xs:complexType name="namedBaseEntity">
				<xs:complexContent>
					<xs:extension base="tns:baseEntity">
						<xs:sequence>
							<xs:element name="name"
									type="xs:string"/>
						</xs:sequence>
					</xs:extension>
				</xs:complexContent>
			</xs:complexType>
			<xs:complexType name="party"
					abstract="true">
				<xs:complexContent>
					<xs:extension base="tns:baseEntity"/>
				</xs:complexContent>
			</xs:complexType>
			<xs:complexType name="partyRelationship">
				<xs:complexContent>
					<xs:extension base="tns:baseEntity">
						<xs:sequence>
							<xs:element name="object"/>
							<xs:element name="subject"/>
						</xs:sequence>
					</xs:extension>
				</xs:complexContent>
			</xs:complexType>
			<xs:complexType name="partyRole">
				<xs:complexContent>
					<xs:extension base="tns:baseEntity">
						<xs:sequence>
							<xs:element name="partyId"
									type="tns:uuid"/>
							<xs:element name="typeId"
									type="tns:uuid"/>
						</xs:sequence>
					</xs:extension>
				</xs:complexContent>
			</xs:complexType>
			<xs:complexType name="partyRoleType">
				<xs:complexContent>
					<xs:extension base="tns:enumerationElement"/>
				</xs:complexContent>
			</xs:complexType>
			<xs:complexType name="person">
				<xs:complexContent>
					<xs:extension base="tns:party">
						<xs:sequence>
							<xs:element name="dateOfBirth"
									type="xs:string"
									minOccurs="0"/>
							<xs:element name="firstName"
									type="xs:string"
									minOccurs="0"/>
							<xs:element name="genderName"
									type="xs:string"
									minOccurs="0"/>
							<xs:element name="lastName"
									type="xs:string"
									minOccurs="0"/>
							<xs:element name="patronimic"
									type="xs:string"
									minOccurs="0"/>
						</xs:sequence>
					</xs:extension>
				</xs:complexContent>
			</xs:complexType>
			<xs:complexType name="salesOrder">
				<xs:complexContent>
					<xs:extension base="tns:document">
						<xs:sequence>
							<xs:element name="creationDate"
									type="xs:dateTime"
									minOccurs="0"/>
							<xs:element name="customerId"
									type="tns:uuid"
									minOccurs="0"/>
							<xs:element name="shipToPartyId"
									type="tns:uuid"
									minOccurs="0"/>
							<xs:element name="contactPersonId"
									type="tns:uuid"
									minOccurs="0"/>
							<xs:element name="deliveryAddress"
									type="xs:string"
									minOccurs="0"/>
							<xs:element name="number"
									type="xs:string"
									minOccurs="0"/>
							<xs:element name="statusId"
									type="tns:uuid"
									minOccurs="0"/>
							<xs:element name="totalAmount"
									type="xs:double"
									minOccurs="0"/>
							<xs:element name="notes"
									type="xs:string"
									minOccurs="0"/>
						</xs:sequence>
					</xs:extension>
				</xs:complexContent>
			</xs:complexType>
			<xs:complexType name="salesOrderLine">
				<xs:complexContent>
					<xs:extension base="tns:documentLine">
						<xs:sequence>
							<xs:element name="discountPercent"
									type="xs:float"
									minOccurs="0"/>
							<xs:element name="itemId"
									type="tns:uuid"
									minOccurs="0"/>
							<xs:element name="lineAmount"
									type="xs:double"
									minOccurs="0"/>
							<xs:element name="price"
									type="xs:double"
									minOccurs="0"/>
							<xs:element name="quantity"
									type="xs:double"
									minOccurs="0"/>
							<xs:element name="uomName"
									type="xs:string"
									minOccurs="0"/>
						</xs:sequence>
					</xs:extension>
				</xs:complexContent>
			</xs:complexType>
			<xs:simpleType name="uuid">
				<xs:restriction base="xs:string"/>
			</xs:simpleType>
			<xs:complexType name="uzer">
				<xs:complexContent>
					<xs:extension base="tns:baseEntity">
						<xs:sequence>
							<xs:element name="login"
									type="xs:string"
									minOccurs="0"/>
							<xs:element name="name"
									type="xs:string"
									minOccurs="0"/>
						</xs:sequence>
					</xs:extension>
				</xs:complexContent>
			</xs:complexType>
		</xs:schema>
		<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
				xmlns:xs1="http://sms.target.ua/exchange/ones/ws/dto"
				xmlns:xs2="http://ones.target.ua/exchange/sms/ws"
				targetNamespace="http://ones.target.ua/exchange/sms/ws"
				elementFormDefault="qualified">
			<xs:import namespace="http://sms.target.ua/exchange/ones/ws/dto"/>
			<xs:element name="importItemGroup">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="itemGroup"
								type="xs1:itemGroup"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="importItemGroupResponse">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="return"
								type="xs:string"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="importItem">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="item"
								type="xs1:item"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="importItemResponse">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="return"
								type="xs:string"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:schema>
	</types>
	<message name="importItemGroupRequestMessage">
		<part name="parameters"
				element="tns:importItemGroup"/>
	</message>
	<message name="importItemGroupResponseMessage">
		<part name="parameters"
				element="tns:importItemGroupResponse"/>
	</message>
	<message name="importItemRequestMessage">
		<part name="parameters"
				element="tns:importItem"/>
	</message>
	<message name="importItemResponseMessage">
		<part name="parameters"
				element="tns:importItemResponse"/>
	</message>
	<portType name="SMSExchangePortType">
		<operation name="importItemGroup">
			<input message="tns:importItemGroupRequestMessage"/>
			<output message="tns:importItemGroupResponseMessage"/>
		</operation>
		<operation name="importItem">
			<input message="tns:importItemRequestMessage"/>
			<output message="tns:importItemResponseMessage"/>
		</operation>
	</portType>
	<binding name="SMSExchangeSoapBinding"
			type="tns:SMSExchangePortType">
		<soapbind:binding style="document"
				transport="http://schemas.xmlsoap.org/soap/http"/>
		<operation name="importItemGroup">
			<soapbind:operation style="document"/>
			<input>
				<soapbind:body use="literal"/>
			</input>
			<output>
				<soapbind:body use="literal"/>
			</output>
		</operation>
		<operation name="importItem">
			<soapbind:operation style="document"/>
			<input>
				<soapbind:body use="literal"/>
			</input>
			<output>
				<soapbind:body use="literal"/>
			</output>
		</operation>
	</binding>
	<binding name="SMSExchangeSoap12Binding"
			type="tns:SMSExchangePortType">
		<soap12bind:binding style="document"
				transport="http://schemas.xmlsoap.org/soap/http"/>
		<operation name="importItemGroup">
			<soap12bind:operation style="document"/>
			<input>
				<soap12bind:body use="literal"/>
			</input>
			<output>
				<soap12bind:body use="literal"/>
			</output>
		</operation>
		<operation name="importItem">
			<soap12bind:operation style="document"/>
			<input>
				<soap12bind:body use="literal"/>
			</input>
			<output>
				<soap12bind:body use="literal"/>
			</output>
		</operation>
	</binding>
	<service name="SMSExchange">
		<port name="SMSExchangeSoap"
				binding="tns:SMSExchangeSoapBinding">
			<documentation> 
				<wsi:Claim xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/"
						conformsTo="http://ws-i.org/profiles/basic/1.1"/>
			</documentation>
			<soapbind:address location="http://192.168.37.34/UPP_Work_Local/ws/wssmsexchange.1cws"/>
		</port>
		<port name="SMSExchangeSoap12"
				binding="tns:SMSExchangeSoap12Binding">
			<soap12bind:address location="http://192.168.37.34/UPP_Work_Local/ws/wssmsexchange.1cws"/>
		</port>
	</service>
</definitions>
Вызов:
Код: plaintext
1.
2.
3.
4.
5.
6.
            item itm = new item();
            itm.name = "Preved";
            itm.id = Guid.NewGuid().ToString();
            SMSExchange svc = new SMSExchange();
            svc.UseDefaultCredentials = false;
            svc.Credentials = new NetworkCredential("a1", "");
            string r = svc.importItem(itm);
...
Рейтинг: 0 / 0
20.10.2009, 14:12
    #36261983
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#.NET, WebService call. Помогите правильно вызвать веб-сервис с передачей хидера. Correct
это пробовал менять?

Use=System.Web.Services.Description.SoapBindingUse.Literal
...
Рейтинг: 0 / 0
20.10.2009, 14:35
    #36262050
Kull Damned
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#.NET, WebService call. Помогите правильно вызвать веб-сервис с передачей хидера. Correct
Winnipuhэто пробовал менять?

Use=System.Web.Services.Description.SoapBindingUse.LiteralНеизвестная ошибка. Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://sms.target.ua/exchange/ones/ws/dto}item - [1,180]
Проверка дополнительного свойства:
форма: Атрибут
имя: href
по причине:
Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://sms.target.ua/exchange/ones/ws/dto}item - [1,180]
Проверка дополнительного свойства:
форма: Атрибут
имя: href
по причине:
Ошибка проверки данных XDTO:
Структура объекта не соответствует типу: {http://sms.target.ua/exchange/ones/ws/dto}item
...
Рейтинг: 0 / 0
20.10.2009, 14:49
    #36262096
Диез
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#.NET, WebService call. Помогите правильно вызвать веб-сервис с передачей хидера. Correct
Kull Damned,

Можно попробовать подредактировать сам WSDL, добавить фейковый header:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
<types>
...

  <xs:element name="emptyElement" />

...
</types>
...

<message name="fakeHeaderMessage">
	<part name="none" element="tns:emptyElement" />
</message>

...

<operation name="importItemGroup">
	<soapbind:operation style="document"/>
	<input>
		<soapbind:body use="literal"/>
		<soapbind:header message="tns:fakeHeaderMessage" part="none"  use="literal" />
	</input>
	<output>
		<soapbind:body use="literal"/>
	</output>
</operation>

Честно скажу, ни разу так не делал :)
...
Рейтинг: 0 / 0
20.10.2009, 15:53
    #36262314
Kull Damned
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#.NET, WebService call. Помогите правильно вызвать веб-сервис с передачей хидера. Correct
---------------------------
Microsoft Visual Studio
---------------------------
The custom tool 'MSDiscoCodeGenerator' failed. Unable to import binding 'SMSExchangeSoapBinding' from namespace 'http://ones.target.ua/exchange/sms/ws'.
---------------------------
OK
---------------------------

Это при попытке сгенерировать прокси-класс, как я понимаю, хотя при добавлении Web-Reference о проблемах ничего не говорила студия.
soapUI тоже на ура сожрал WSDL и смог вызвать сервис...

Причем я еще сократил wsdl до этого:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
		<operation name="importItem">
			<soapbind:operation style="document"/>
			<input>
				<soapbind:header use="literal" />
				<soapbind:body use="literal"/>
			</input>
			<output>
				<soapbind:body use="literal"/>
			</output>
		</operation>
Но один хрен, студия не хочет генерить класс.

Будущего нет. И завтра не будет. ©
...
Рейтинг: 0 / 0
20.10.2009, 22:40
    #36263077
rrdrrdrgdrdg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#.NET, WebService call. Помогите правильно вызвать веб-сервис с передачей хидера. Correct
как нибудь это прикрутить не получится? http://msdn.microsoft.com/en-us/library/system.web.services.protocols.soapheader%28VS.80%29.aspx
...
Рейтинг: 0 / 0
21.10.2009, 11:42
    #36263781
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#.NET, WebService call. Помогите правильно вызвать веб-сервис с передачей хидера. Correct
Kull Damned---------------------------
Microsoft Visual Studio
---------------------------
The custom tool 'MSDiscoCodeGenerator' failed. Unable to import binding 'SMSExchangeSoapBinding' from namespace 'http://ones.target.ua/exchange/sms/ws'.
---------------------------
OK
---------------------------

Это при попытке сгенерировать прокси-класс, как я понимаю, хотя при добавлении Web-Reference о проблемах ничего не говорила студия.
soapUI тоже на ура сожрал WSDL и смог вызвать сервис...

Причем я еще сократил wsdl до этого:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
		<operation name="importItem">
			<soapbind:operation style="document"/>
			<input>
				<soapbind:header use="literal" />
				<soapbind:body use="literal"/>
			</input>
			<output>
				<soapbind:body use="literal"/>
			</output>
		</operation>
Но один хрен, студия не хочет генерить класс.

Будущего нет. И завтра не будет. ©

кстати, доверять утилите wsdl на 100% нельзя, я имел головняки, когда лна неправильно, по своему создавала клиентские прокси классы, и только после ручного вмешательства классы работали.
...
Рейтинг: 0 / 0
21.10.2009, 18:20
    #36265240
Kull Damned
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#.NET, WebService call. Помогите правильно вызвать веб-сервис с передачей хидера. Correct
В общем плюнули на это безнадежное дело.
Сделаем веб-сервисную прослойку, которая через COM будет дергать 1С. И мать его так. Это быстрее и дешевле по человеко-ресурсам.
Всем спасибо за попытки помочь.

Будущего нет. И завтра не будет. ©
...
Рейтинг: 0 / 0
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / C#.NET, WebService call. Помогите правильно вызвать веб-сервис с передачей хидера. Correct / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]