powered by simpleCommunicator - 2.0.57     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Перевод Java на C#!
10 сообщений из 10, страница 1 из 1
Перевод Java на C#!
    #38121582
Joris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем!
Переводи пожалуйста 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
Перевод Java на C#!
    #38121602
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Перевод Java на C#!
    #38121605
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
=))
...
Рейтинг: 0 / 0
Перевод Java на C#!
    #38122152
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
list[i]
...
Рейтинг: 0 / 0
Перевод Java на C#!
    #38124580
Joris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buser,
))) да уж..
...
Рейтинг: 0 / 0
Перевод Java на C#!
    #38124612
Joris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята переводи пожалуйста 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
Перевод Java на C#!
    #38125131
Joris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну неужели никто не знает?
...
Рейтинг: 0 / 0
Перевод Java на C#!
    #38125308
Фотография Местный король Делфей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JorisНу неужели никто не знает?
вам в раздел работа
...
Рейтинг: 0 / 0
Перевод Java на C#!
    #38125309
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
JorisНу неужели никто не знает?
Не надо пытаться взять на "слабо". Очень многие знают как это сделать, но работать за Вас не будут.

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

Подключаю следующие библиотеки:
Код: 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
10 сообщений из 10, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Перевод Java на C#!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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