powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / wsdl под MTOM
20 сообщений из 20, страница 1 из 1
wsdl под MTOM
    #37824794
grrh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть веб-сервис на java, у него есть wsdl. Сервис аплоадит файлы.

Как нужно описать тип данных в wsdl, чтобы на клиенте у метода в аргументах генерировался stream, а не byte[] ? Для больших файлов соответствующий массив байт создать нереально. Или может есть какие-то варианты преобразования на клиенте?
...
Рейтинг: 0 / 0
wsdl под MTOM
    #37824824
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grrh,

ну тебе нужно в сервер передать ссылку на stream клтента.
дальше сервер будет у объекта stream вызывает getbytes порционно с какой то периодичностью.
вот собственно и все.
как на java делать, не знаю.
тут .net платформа обсуждается.
...
Рейтинг: 0 / 0
wsdl под MTOM
    #37824826
grrh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
на ява - сервер ждёт стрим
а на клиенте студия сгенерировала byte[]
я и спрашиваю - как должен выглядеть wsdl, чтобы студия тоже стрим сгенерировала?
...
Рейтинг: 0 / 0
wsdl под MTOM
    #37824828
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grrh,

покажи как он выглядит сейчас.
...
Рейтинг: 0 / 0
wsdl под MTOM
    #37824834
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
быстрый способ это создать сервер с методом принимающим stream и снять с него wsdl.
соотвественно сервер делать на .net уже.
...
Рейтинг: 0 / 0
wsdl под MTOM
    #37825564
grrh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да, я попробовал сделать сервер на .net вчера
не пойму, как это преобразовать к стандарту
Код: xml
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.
<s:element name="uploadFile">
    <s:complexType>
        <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="file" type="tns:Stream"/>
        </s:sequence>
    </s:complexType>
</s:element>
<s:complexType name="Stream" abstract="true">
    <s:complexContent mixed="false">
        <s:extension base="tns:MarshalByRefObject">
            <s:sequence>
                <s:element minOccurs="1" maxOccurs="1" name="Position" type="s:long"/>
                <s:element minOccurs="1" maxOccurs="1" name="ReadTimeout" type="s:int"/>
                <s:element minOccurs="1" maxOccurs="1" name="WriteTimeout" type="s:int"/>
            </s:sequence>
        </s:extension>
    </s:complexContent>
</s:complexType>
<s:complexType name="MarshalByRefObject" abstract="true"/>
<s:element name="uploadFileResponse">
    <s:complexType>
        <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="uploadFileResult" type="s:string"/>
        </s:sequence>
    </s:complexType>
</s:element>
</s:schema>
</wsdl:types>
<wsdl:message name="uploadFileSoapIn">
    <wsdl:part name="parameters" element="tns:uploadFile"/>
</wsdl:message>



и это на простой
Код: c#
1.
2.
3.
4.
5.
[WebMethod]
public string uploadFile(System.IO.Stream file)
{
            return "Hello World";
}
...
Рейтинг: 0 / 0
wsdl под MTOM
    #37825640
grrh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"родной" выглядит так
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
                <xs:element name="File_Content">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="File_Body" type="xs:base64Binary" xmime:expectedContentTypes="application/octet-stream" xmlns:xmime="http://www.w3.org/2005/05/xmlmime" minOccurs="0">
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
...
Рейтинг: 0 / 0
wsdl под MTOM
    #37825665
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grrh,

похоже, сервер на .net ты создал не верно.
behavior у тебя не тот у bindingА.
...
Рейтинг: 0 / 0
wsdl под MTOM
    #37825683
grrh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Жесть, вроде файл->нью вебсервис.. F5
не затруднит сделать правильный с параметром Stream на вход и выложить кусок wsdl, описывающий stream-аргумент?
сам тоже попробую конечно..
...
Рейтинг: 0 / 0
wsdl под MTOM
    #37825704
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grrh,

так ты покажи, .config файл или код в которым зашиты настройки behaviours и binding(ну он basichttp я полагаю)
...
Рейтинг: 0 / 0
wsdl под MTOM
    #37825725
grrh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня нет никаких конфигов и биндингов, окромя серверного wsdl (приводил выше)
чей конфиг файл? проекта в студии?
мне нужно просто wsdl, сгенерированный в студии для метода.
Код: c#
1.
public void upload(Stream stream)


конфиг и биндинг я ниоткуда не беру, его видимо опять же генерирует студия.
...
Рейтинг: 0 / 0
wsdl под MTOM
    #37825743
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grrh,

да она генерит его. посмотри рядом файлик projectname.exe.config
...
Рейтинг: 0 / 0
wsdl под MTOM
    #37825760
grrh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
*.exe.config нету
есть только Web.Release.config
Код: xml
1.
2.
3.
4.
5.
6.
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <system.web>
    <compilation xdt:Transform="RemoveAttributes(debug)" />
  </system.web>
</configuration>
...
Рейтинг: 0 / 0
wsdl под MTOM
    #37825774
grrh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть ещё Web.config

Код: xml
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.
<?xml version="1.0"?>
<configuration>

    <configSections>
      <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
        <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
          <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
          <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
            <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere" />
            <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
            <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
            <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
          </sectionGroup>
        </sectionGroup>
      </sectionGroup>
    </configSections>  
    <appSettings/>
    <connectionStrings/>
    <system.web>
        <compilation debug="true" >
          <assemblies>
            <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
          </assemblies>
        </compilation>
    <!--
      The <authentication> section enables configuration 
      of the security authentication mode used by 
      ASP.NET to identify an incoming user. 
    -->
    <authentication mode="Windows" />
    <!--
       The <customErrors> section enables configuration 
       of what to do if/when an unhandled error occurs 
       during the execution of a request. Specifically, 
       it enables developers to configure html error pages 
       to be displayed in place of a error stack trace.

       <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
         <error statusCode="403" redirect="NoAccess.htm" />
         <error statusCode="404" redirect="FileNotFound.htm" />
       </customErrors>
    -->
      <pages>
        <controls>
          <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
          <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        </controls>
      </pages>

      <httpHandlers>
        <remove verb="*" path="*.asmx"/>
        <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
      </httpHandlers>
      <httpModules>
        <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      </httpModules>
    </system.web>
    <system.codedom>
      <compilers>
        <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4"
                  type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <providerOption name="CompilerVersion" value="v3.5"/>
          <providerOption name="WarnAsError" value="false"/>
        </compiler>
      </compilers>
    </system.codedom>
    <!-- 
        The system.webServer section is required for running ASP.NET AJAX under Internet
        Information Services 7.0.  It is not necessary for previous version of IIS.
    -->
    <system.webServer>
      <validation validateIntegratedModeConfiguration="false"/>
      <modules>
        <remove name="ScriptModule" />
        <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      </modules>
      <handlers>
        <remove name="WebServiceHandlerFactory-Integrated"/>
        <remove name="ScriptHandlerFactory" />
        <remove name="ScriptHandlerFactoryAppServices" />
        <remove name="ScriptResource" />
        <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode"
             type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode"
             type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      </handlers>
    </system.webServer>
    <runtime>
      <assemblyBinding appliesTo="v2.0.50727" xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
          <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
          <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
        </dependentAssembly>
        <dependentAssembly>
          <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
          <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
        </dependentAssembly>
      </assemblyBinding>
    </runtime>

</configuration>

...
Рейтинг: 0 / 0
wsdl под MTOM
    #37825788
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grrh,

я не понял.
ты хостишь wcf на iis чтоли?
...
Рейтинг: 0 / 0
wsdl под MTOM
    #37825805
grrh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
какая разница? я создаю веб-сервис и жму F5, куда студия обычно хостит? может и на IIS..
дай плз ссылку как создать веб-сервис, где я увижу нормальный wsdl
...
Рейтинг: 0 / 0
wsdl под MTOM
    #37826103
grrh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если я создаю в студии не web-сервис, а wcf-сервис, получаю что-то более внятное

Код: c#
1.
2.
[OperationContract]
string GetData(System.IO.Stream filebody);


Код: xml
1.
2.
3.
4.
5.
6.
7.
<xs:element name="GetData">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="filebody" type="q1:StreamBody"/>
        </xs:sequence>
    </xs:complexType>
</xs:element>


Код: xml
1.
2.
3.
<xs:simpleType name="StreamBody">
    <xs:restriction base="xs:base64Binary"/>
</xs:simpleType>



чего-то не догоняю, почему рестрикшн и как нужно преобразовать мой родной wsdl?
...
Рейтинг: 0 / 0
wsdl под MTOM
    #37826114
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grrh,

слушай ну ты мало спишь) раз вместо wcf сделал web.
дальше тебе видимо самому придется копать.
ты когда листинги делаешь, вырезаешь некоторую инфу - это плохо.
...
Рейтинг: 0 / 0
wsdl под MTOM
    #37826177
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут чё-то про это пишут.
...
Рейтинг: 0 / 0
wsdl под MTOM
    #37826292
grrh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
о, спасибо, точно нужно!
Надеюсь смогу разобараться :)
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / wsdl под MTOM
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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