Регистрация  |  Вход

web service

global class TestWebService {

webservice static Account createAccountSimple(String name) {
Account acc = new Account(Name = name);

insert acc;

return acc;
}
}

Как мне заранать етот веб сервис с Apex Class?

как то так?

HttpRequest req = new HttpRequest();

req.setMethod('POST');
req.setHeader('Authorization', 'OAuth ' + UserInfo.getSessionId());
req.setHeader('Content-Type', 'application/json');
req.setEndpoint();
req.setBody('{"name" : "TestName2222"}');

Http http = new Http();
HTTPResponse res = http.send(req);

System.debug('BODY: '+res.getBody());

Только что попюлейтить в setEndpoint???

[code]
global class TestWebService {
	
	webservice static Account createAccountSimple(String name) {
		Account acc = new Account(Name = name);

		insert acc;

		return acc;
	}
}
[/code]

Как мне заранать етот веб сервис с Apex Class?

как то так?

HttpRequest req = new HttpRequest();

req.setMethod('POST');
req.setHeader('Authorization', 'OAuth ' + UserInfo.getSessionId());
req.setHeader('Content-Type', 'application/json');
req.setEndpoint();
req.setBody('{"name" : "TestName2222"}');

Http http = new Http();
HTTPResponse res = http.send(req);

System.debug('BODY: '+res.getBody());

Только что попюлейтить в setEndpoint???

1. Тебе нужно получить Serverurl. Его дают после успешного логина. Если у тебя есть сессионИд и ты хочешь ранить именно через http request, то с чего ты решил что твой вебервис возвращает json ?

Зачем тебе вообще запускать вебсервис подобным образом? Просто проверить что он работает? Если это так то проще исполь9овать Soapui или плагин для хрома для отправки запросов.

1. Тебе нужно получить Serverurl. Его дают после успешного логина. Если у тебя есть сессионИд и ты хочешь ранить именно через http request, то с чего ты решил что твой вебервис возвращает json ?

Зачем тебе вообще запускать вебсервис подобным образом? Просто проверить что он работает? Если это так то проще исполь9овать Soapui или плагин для хрома для отправки запросов.

А что я не могу написать SOAP request с Апекс Класа?

Для Рест там все просто, есть urlMapping. Здесь же его нет.

А что я не могу написать SOAP request с Апекс Класа?

Для Рест там все просто, есть urlMapping. Здесь же его нет.

Может тебе проще его поднять с javascirpt в Salesforce ?

Может тебе проще его поднять с javascirpt в Salesforce ?

Sergey Prichepo
Может тебе проще его поднять с javascirpt в Salesforce ?

так и сделал. Просто для себя хочу знать как заранать веб сервис с Апекс Класа и чото не получаетса

[quote="Sergey Prichepo"]Может тебе проще его поднять с javascirpt в Salesforce ?[/quote]
так и сделал. Просто для себя хочу знать как заранать веб сервис с Апекс Класа и чото не получаетса

remember
Sergey Prichepo
Может тебе проще его поднять с javascirpt в Salesforce ?

так и сделал. Просто для себя хочу знать как заранать веб сервис с Апекс Класа и чото не получаетса

Правильный endpoint url поставь и будет тебе счастье. Цтобы его узнать скачай wsdl от своего вебсервиса.

[quote="remember"][quote="Sergey Prichepo"]Может тебе проще его поднять с javascirpt в Salesforce ?[/quote]
так и сделал. Просто для себя хочу знать как заранать веб сервис с Апекс Класа и чото не получаетса[/quote]

Правильный endpoint url поставь и будет тебе счастье. Цтобы его узнать скачай wsdl от своего вебсервиса.

wilder
remember
Sergey Prichepo
Может тебе проще его поднять с javascirpt в Salesforce ?

так и сделал. Просто для себя хочу знать как заранать веб сервис с Апекс Класа и чото не получаетса

Правильный endpoint url поставь и будет тебе счастье. Цтобы его узнать скачай wsdl от своего вебсервиса.

Ок. Я згенерил wsdl і где здесь ендпоінт?
Ето? <soap:address location="https://eu5.salesforce.com/services/Soap/class/TestWebService"/>
Но тут только Клас указан где метод прописовать?

И какой setMethod прописоть?

Чот я запуталса уже)))

[quote="wilder"][quote="remember"][quote="Sergey Prichepo"]Может тебе проще его поднять с javascirpt в Salesforce ?[/quote]
так и сделал. Просто для себя хочу знать как заранать веб сервис с Апекс Класа и чото не получаетса[/quote]

Правильный endpoint url поставь и будет тебе счастье. Цтобы его узнать скачай wsdl от своего вебсервиса.[/quote]

Ок. Я згенерил wsdl і где здесь ендпоінт?
Ето? <soap:address location="https://eu5.salesforce.com/services/Soap/class/TestWebService"/>
Но тут только Клас указан где метод прописовать?

И какой setMethod прописоть?

Чот я запуталса уже)))

remember
И какой setMethod прописоть?

А сам то как думаешь ? похоже на GET ?

[quote="remember"]И какой setMethod прописоть?[/quote]

А сам то как думаешь ? похоже на GET ?

remember
Но тут только Клас указан где метод прописовать?

в xml
У тебя будет что-то типа следующего:
<se:Envelope xmlns:se="http://schemas.xmlsoap.org/soap/envelope/">
<se:Header xmlns:sfns="http://soap.sforce.com/schemas/package/TestWebService">
<sfns:SessionHeader>
<sessionId></sessionId>
</sfns:SessionHeader>
</se:Header>
<se:Body>
<createAccountSimple xmlns="http://soap.sforce.com/schemas/package/TestWebService">
<name></name>
</createAccountSimple>
</se:Body>
</se:Envelope>

Из Apex все элементарно запускается, нужен только токен и урл

[quote="remember"]Но тут только Клас указан где метод прописовать?[/quote]
в xml
У тебя будет что-то типа следующего:
[code]
<se:Envelope xmlns:se="http://schemas.xmlsoap.org/soap/envelope/">
	<se:Header xmlns:sfns="http://soap.sforce.com/schemas/package/TestWebService">
		<sfns:SessionHeader>
			<sessionId></sessionId>
		</sfns:SessionHeader>
	</se:Header>
	<se:Body>
		<createAccountSimple xmlns="http://soap.sforce.com/schemas/package/TestWebService">
			<name></name>
		</createAccountSimple>
	</se:Body>
</se:Envelope>
[/code]

Из Apex все элементарно запускается, нужен только токен и урл

remember
Только что попюлейтить в setEndpoint???

А что у тебя в JS?

[quote="remember"]Только что попюлейтить в setEndpoint???[/quote]
А что у тебя в JS?

А почему ты не вызовешь метод класса? Зачем тебе именно callout?

А почему ты не вызовешь метод класса? Зачем тебе именно callout?