Уведомления

Группа в Telegram: @pythonsu

#1 Июль 20, 2012 07:47:15

S-10
Зарегистрирован: 2012-07-20
Сообщения: 6
Репутация: +  -3  -
Профиль   Отправить e-mail  

SOAPpy как это делается

Есть вот такая информация к размышлению
http://dpaste.com/772952/
Как такое отправляют с помощью питона?

Отредактировано S-10 (Июль 20, 2012 07:49:17)

Офлайн

#2 Июль 20, 2012 11:16:56

agalen
От:
Зарегистрирован: 2011-03-23
Сообщения: 185
Репутация: +  17  -
Профиль   Отправить e-mail  

SOAPpy как это делается

Я для soap использую модуль suds. Ему даешь URL c WSDL, а дальше можно просто вызывать методы.
Пример:

client = suds.client.Client( "http://server/service.wsdl" )
res = client.service.MySuperPuperSoapRequest( arg1, arg2, arg3 )



Офлайн

#3 Июль 23, 2012 09:08:46

S-10
Зарегистрирован: 2012-07-20
Сообщения: 6
Репутация: +  -3  -
Профиль   Отправить e-mail  

SOAPpy как это делается

agalen
я сделал вот так:
#! /usr/bin/env python
# -*- coding: utf-8 -*-

import suds

url = 'http://1.1.1.1/RSNetGain/RicoServer/InventorySoap.asmx'
client = suds.client.Client( url + ‘?WSDL’ )

def MySuperPuperSoapRequest( arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14,arg15 ):
text = “”“
<?xml version=”1.0“ encoding=”utf-8“?>
<soap:Envelope xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance“ xmlns:xsd=”http://www.w3.org/2001/XMLSchema
xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/“>
<soap:Body>
<CheckAvailability xmlns=”http://ukrtelecom.net/webservices/Integration/BillingInventory“>
<requests>
<AvailabilityRequest>
<departmentId>%d</departmentId>
<address>
<settlementType>%d</settlementType>
<settlementTypeName>%s</settlementTypeName>
<settlementId>%d</settlementId>
<settlementName>%s</settlementName>
<streetType>%d</streetType>
<streetTypeName>%s</streetTypeName>
<streetName>%s</streetName>
<buildingNo>%s</buildingNo>
<auxilaryNo>%s</auxilaryNo>
<apartmentNo>%s</apartmentNo>
<auxilaryInfo>%s</auxilaryInfo>
</address>
</AvailabilityRequest>
</requests>
<connectionType>%d</connectionType>
<equipmentType>%d</equipmentType>
<activityType>%d</activityType>
</CheckAvailability>
</soap:Body>
</soap:Envelope>
”“” % ( arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14,arg15 )
return text

res = client.service.MySuperPuperSoapRequest( 0,2,'город',0,'Благовещенск',1,'Улица','пер.Чудиновский','50','','13','',0,0,1 )
print res

и получаю ошибку что метода MySuperPuperSoapRequest не существует
как сделать правильно?

Офлайн

#4 Июль 24, 2012 00:36:04

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

SOAPpy как это делается

S-10
как сделать правильно?
Правильно - использовать тег code, благо одменестрацыя соблагоизволила добавить панель бебекодов.

Офлайн

#5 Июль 24, 2012 07:17:40

S-10
Зарегистрирован: 2012-07-20
Сообщения: 6
Репутация: +  -3  -
Профиль   Отправить e-mail  

SOAPpy как это делается

odnochlen
А по сабжу, конечно же, ты ничего не можешь сказать

Офлайн

#6 Июль 24, 2012 08:00:06

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

SOAPpy как это делается

Чтобы сказать - надо прочитать твой пост, а его читать не очень приятно.

Офлайн

#7 Июль 24, 2012 09:35:06

S-10
Зарегистрирован: 2012-07-20
Сообщения: 6
Репутация: +  -3  -
Профиль   Отправить e-mail  

SOAPpy как это делается

Тут кода как такового пару строк, остальное xml, так что не надо мазаться что читать не удобно.
От тебя 0 пользы.

Офлайн

#8 Июль 24, 2012 09:39:53

S-10
Зарегистрирован: 2012-07-20
Сообщения: 6
Репутация: +  -3  -
Профиль   Отправить e-mail  

SOAPpy как это делается

Для особо “одарённых” привожу код в тегах, хотя это не поможет наполнить голову знаниями

#! /usr/bin/env python                     
# -*- coding: utf-8 -*-                    
import suds
url = 'http://1.1.1.1/RSNetGain/RicoServer/InventorySoap.asmx'
client = suds.client.Client( url + '?WSDL' )
def MySuperPuperSoapRequest( arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14,arg15 ):
    text = """
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    <CheckAvailability xmlns="http://ukrtelecom.net/webservices/Integration/BillingInventory">
      <requests>
        <AvailabilityRequest>
          <departmentId>%d</departmentId>
          <address>
            <settlementType>%d</settlementType>
            <settlementTypeName>%s</settlementTypeName>
            <settlementId>%d</settlementId>
            <settlementName>%s</settlementName>
            <streetType>%d</streetType>
            <streetTypeName>%s</streetTypeName>
            <streetName>%s</streetName>
            <buildingNo>%s</buildingNo>
            <auxilaryNo>%s</auxilaryNo>
            <apartmentNo>%s</apartmentNo>
            <auxilaryInfo>%s</auxilaryInfo>
          </address>
        </AvailabilityRequest>
      </requests>
      <connectionType>%d</connectionType>
      <equipmentType>%d</equipmentType>
      <activityType>%d</activityType>
    </CheckAvailability>
  </soap:Body>
</soap:Envelope>
""" % ( arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14,arg15 )
    return text
res = client.service.MySuperPuperSoapRequest( 0,2,'город',0,'Благовещенск',1,'Улица','пер.Чудиновский','50','','13','',0,0,1 )
print res

Отредактировано S-10 (Июль 24, 2012 09:40:16)

Офлайн

#9 Июль 24, 2012 16:07:18

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

SOAPpy как это делается

S-10
Для особо “одарённых”
Правила прочти, “одаренный”.

Офлайн

#10 Июль 25, 2012 02:22:23

S-10
Зарегистрирован: 2012-07-20
Сообщения: 6
Репутация: +  -3  -
Профиль   Отправить e-mail  

SOAPpy как это делается

odnochlen
Отстань, противный.

Отредактировано S-10 (Июль 26, 2012 06:09:06)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version