Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Перевод Java на C#! / 10 сообщений из 10, страница 1 из 1
23.01.2013, 15:26
    #38121582
Joris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод Java на C#!
Привет всем!
Переводи пожалуйста Java на C#, пример соап подключения.....
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
TestRegistration registration = getRegistration();
   GetTestAgrTemplateInfosresponseonse response = registration.getTestAgrTemplateInfos(objectFactory.createGetTestAgrTemplateInfosRequest());
            List<TestAgrTemplateInfo> list = response.getTestAgrTemplate();
            jTextArea1.append("TestTemplateInfos---------------------------------");
            for (int i = 0; i < list.size(); i++) {
                TestAgrTemplateInfo tinfo = list.get(i);
                jTextArea1.append("\nTestAgrTemplateInfo " + tinfo.getCode() + "  "
                        + tinfo.getShortName());
            }
            jTextArea1.append("\nTestEnd TemplateInfos----------------------------\n");


Заранее благодарен!
...
Рейтинг: 0 / 0
23.01.2013, 15:30
    #38121602
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод Java на C#!
Joris,

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
TestRegistration registration = getRegistration();
   GetTestAgrTemplateInfosresponseonse response = registration.getTestAgrTemplateInfos(objectFactory.createGetTestAgrTemplateInfosRequest());
            List<TestAgrTemplateInfo> list = response.getTestAgrTemplate();
            jTextArea1.append("TestTemplateInfos---------------------------------");
            for (int i = 0; i < list.Count(); i++) {
                TestAgrTemplateInfo tinfo = list[i];
                jTextArea1.append("\nTestAgrTemplateInfo " + tinfo.getCode() + "  "
                        + tinfo.getShortName());
            }
            jTextArea1.append("\nTestEnd TemplateInfos----------------------------\n");
...
Рейтинг: 0 / 0
23.01.2013, 15:30
    #38121605
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод Java на C#!
=))
...
Рейтинг: 0 / 0
23.01.2013, 19:23
    #38122152
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод Java на C#!
list[i]
...
Рейтинг: 0 / 0
25.01.2013, 13:25
    #38124580
Joris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод Java на C#!
buser,
))) да уж..
...
Рейтинг: 0 / 0
25.01.2013, 13:41
    #38124612
Joris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод Java на C#!
Ребята переводи пожалуйста Java на C#, пример соап подключения.....,
С помощью программу Demo Java to C# Converter v2.8 конвертировал ошибка дает:
Ну удается найти тип или пространство имен SOAPHandler (SOAPMessageContext, SOAPEnvelope ….) (пропущена директива using или ссылка на сборку)?

Код: java
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.
public class MyHandler implements SOAPHandler<SOAPMessageContext> {

    private static final Logger LOGGER = LoggerFactory.getLogger(MyHandler.class);

    private String username;

    private String password;

    /**
     * Handles SOAP message. If SOAP header does not already exist, then method will created new SOAP header. The
     * username and password is added to the header as the credentials to authenticate user. If no user credentials is
     * specified every call to web service will fail.
     *
     * @param context SOAP message context to get SOAP message from
     * @return true
     */
    @Override
    public boolean handleMessage(SOAPMessageContext context) {
        try {
            SOAPMessage message = context.getMessage();
            SOAPHeader header = message.getSOAPHeader();
            SOAPEnvelope envelope = message.getSOAPPart().getEnvelope();
            if (header == null) {
                header = envelope.addHeader();
            }
            QName qNameUserCredentials = new QName("https://your.target.namespace/", "UserCredentials");
            SOAPHeaderElement userCredentials = header.addHeaderElement(qNameUserCredentials);

            QName qNameUsername = new QName("https://your.target.namespace/", "Username");
            SOAPHeaderElement username = header.addHeaderElement(qNameUsername );
            username.addTextNode(this.username);
            QName qNamePassword = new QName("https://your.target.namespace/", "Password");
            SOAPHeaderElement password = header.addHeaderElement(qNamePassword);
            password.addTextNode(this.password);

            userCredentials.addChildElement(username);
            userCredentials.addChildElement(password);

            message.saveChanges();
            //TODO: remove this writer when the testing is finished
            StringWriter writer = new StringWriter();
            message.writeTo(new StringOutputStream(writer));
            LOGGER.debug("SOAP message: \n" + writer.toString());
        } catch (SOAPException e) {
            LOGGER.error("Error occurred while adding credentials to SOAP header.", e);
        } catch (IOException e) {
            LOGGER.error("Error occurred while writing message to output stream.", e);
        }
        return true;
    }

    //TODO: remove this class after testing is finished
    private static class StringOutputStream extends OutputStream {

        private StringWriter writer;

        public StringOutputStream(StringWriter writer) {
            this.writer = writer;
        }

        @Override
        public void write(int b) throws IOException {
            writer.write(b);
        }
    }

    @Override
    public boolean handleFault(SOAPMessageContext context) {
        LOGGER.debug("handleFault has been invoked.");
        return true;
    }

    @Override
    public void close(MessageContext context) {
        LOGGER.debug("close has been invoked.");
    }

    @Override
    public Set<QName> getHeaders() {
        LOGGER.debug("getHeaders has been invoked.");
        return null;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}
...
Рейтинг: 0 / 0
25.01.2013, 17:45
    #38125131
Joris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод Java на C#!
Ну неужели никто не знает?
...
Рейтинг: 0 / 0
25.01.2013, 20:00
    #38125308
Местный король Делфей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод Java на C#!
JorisНу неужели никто не знает?
вам в раздел работа
...
Рейтинг: 0 / 0
25.01.2013, 20:03
    #38125309
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод Java на C#!
JorisНу неужели никто не знает?
Не надо пытаться взять на "слабо". Очень многие знают как это сделать, но работать за Вас не будут.

Если бы Вы предоставили свой вариант перевода, то добрые люди указали бы Вам на ошибки.
...
Рейтинг: 0 / 0
28.01.2013, 08:27
    #38126666
Joris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод Java на C#!
Я вроде все подробно написал, с СОАП подключение в первые работаю, постараюсь сам исправить ошибку но к сожалению не профессионал но постараюсь ….((((((.

Подключаю следующие библиотеки:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
using System.IO;
using System.Xml;
using System.Web;
using System.Globalization;
using System.Collections;
using System.Reflection;
using System.Runtime.Serialization;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Messaging;
using System.Runtime.Remoting.Metadata;



Предоставляю вариант перевода Java to C#. Код программа:
Код: c#
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.
public class MyHandler : SOAPHandler<SOAPMessageContext>
{

	private static readonly Logger LOGGER = LoggerFactory.getLogger(typeof(MyHandler));

	private string username;

	private string password;

	/// <summary>
	/// Handles SOAP message. If SOAP header does not already exist, then method will created new SOAP header. The
	/// username and password is added to the header as the credentials to authenticate user. If no user credentials is
	/// specified every call to web service will fail.
	/// </summary>
	/// <param name="context"> SOAP message context to get SOAP message from </param>
	/// <returns> true </returns>
	public override bool handleMessage(SOAPMessageContext context)
	{
		try
		{
			SOAPMessage message = context.Message;
			SOAPHeader header = message.SOAPHeader;
			SOAPEnvelope envelope = message.SOAPPart.Envelope;
			if (header == null)
			{
				header = envelope.addHeader();
			}
			QName qNameUserCredentials = new QName("https://your.target.namespace/", "UserCredentials");
			SOAPHeaderElement userCredentials = header.addHeaderElement(qNameUserCredentials);

			QName qNameUsername = new QName("https://your.target.namespace/", "Username");
			SOAPHeaderElement username = header.addHeaderElement(qNameUsername);
			username.addTextNode(this.username);
			QName qNamePassword = new QName("https://your.target.namespace/", "Password");
			SOAPHeaderElement password = header.addHeaderElement(qNamePassword);
			password.addTextNode(this.password);

			userCredentials.addChildElement(username);
			userCredentials.addChildElement(password);

			message.saveChanges();
			//TODO: remove this writer when the testing is finished
			StringWriter writer = new StringWriter();
			message.writeTo(new StringOutputStream(writer));
			LOGGER.debug("SOAP message: \n" + writer.ToString());
		}
		catch (SOAPException e)
		{
			LOGGER.error("Error occurred while adding credentials to SOAP header.", e);
		}
		catch (IOException e)
		{
			LOGGER.error("Error occurred while writing message to output stream.", e);
		}
		return true;
	}

	//TODO: remove this class after testing is finished
	private class StringOutputStream : OutputStream
	{

		private StringWriter writer;

		public StringOutputStream(StringWriter writer)
		{
			this.writer = writer;
		}

//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: public void write(int b) throws IOException
		public override void write(int b)
		{
			writer.write(b);
		}
	}

	public override bool handleFault(SOAPMessageContext context)
	{
		LOGGER.debug("handleFault has been invoked.");
		return true;
	}

	public override void close(MessageContext context)
	{
		LOGGER.debug("close has been invoked.");
	}

	public override Set<QName> Headers
	{
		get
		{
			LOGGER.debug("getHeaders has been invoked.");
			return null;
		}
	}

	public virtual string Username
	{
		set
		{
			this.username = value;
		}
	}

	public virtual string Password
	{
		set
		{
			this.password = value;
		}
	}
}



Ошибка: Ну удается найти тип или пространство имен SOAPHandler (SOAPMessageContext, SOAPEnvelope ….) (пропущена директива using или ссылка на сборку)?
Какой библиотеку подключать для них, и вообще правильно-ли переводил код программу..?
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Перевод Java на C#! / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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