powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Префиксы namespace
12 сообщений из 12, страница 1 из 1
Префиксы namespace
    #38379904
thor85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго все времени суток!

Подскажите пожалуйста, кто знает. Имеется веб-сервис на java. Каким образом можно задать префиксы неймспейсов для элементов класса.

Namespaces присваиваются следующим образом:

Код: java
1.
2.
3.
4.
5.
6.
7.
public class ParametrsForServices {	
	@XmlElement(required = true, name = "Message", namespace = "http://sqPref.test.ru")
    public int paramsMessageSD;
	@XmlElement(required = true, name = "MessageData", namespace = "http://sqPref.test.ru")
    public String paramsAppDataSD;	

}



Мы получим в wsdl описании:

xmlns:sqp=" http://sqPref.test.ru"

т.е префикс этого неймспейса будет sqp, а хотелось бы sqPref.
Как с этим бороться?
...
Рейтинг: 0 / 0
Префиксы namespace
    #38379921
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первые несколько ссылок имеют рабочие примеры:
https://www.google.com/search?q=jaxb customize namespace prefix
...
Рейтинг: 0 / 0
Префиксы namespace
    #38379982
thor85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
package-info я создавал, но это не помогло

package-info

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
@javax.xml.bind.annotation.XmlSchema (
	namespace = "http://sq.prognoz.ru",	
	elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED,
    xmlns = {
      @javax.xml.bind.annotation.XmlNs(prefix="sqTest", namespaceURI="http://sq.prognoz.ru")
    }		
	
  )  

package com.prognoz.wsclient.sc;



Сервис:

Код: 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.
package com.prognoz.wsclient.sc;

import javax.jws.HandlerChain;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;


@WebService(serviceName = "SCenterService", targetNamespace = "http://sqPref.test.ru")
@HandlerChain(file = "handlers.xml")
public class SCenterService {


	@WebMethod
	@WebResult(name = "testMethod2Response",targetNamespace = "http://sqPref.test.ru")
	public String testMethod1(@WebParam(name = "param1") ParametrsForServices params) throws Exception
	{
		String rez = params.getMessageData()+" "+params.getMessageData();
		
        return rez;
	}
	
	
}



ParametrsForServices.java

Код: 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.
package com.prognoz.wsclient.sc;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(namespace = "http://sqPref.test.ru")
@XmlType(name = "parametrsForServices", propOrder = {
    "paramsMessageSD",
    "paramsAppDataSD"
})
public class ParametrsForServices {	
	@XmlElement(required = true, name = "Message", namespace = "http://sqPref.test.ru")
    public int paramsMessageSD;
	@XmlElement(required = true, name = "MessageData", namespace = "http://sqPref.test.ru")
    public String paramsAppDataSD;	

   
    public String getMessageData() {
        return paramsAppDataSD;
    }
   
    public void setMessageData(String value) {
        this.paramsAppDataSD = value;
    }

	public int getMessage() {
		return paramsMessageSD;
	}

	public void setMessage(int paramsData) {
		this.paramsMessageSD = paramsData;
	}
    

}
...
Рейтинг: 0 / 0
Префиксы namespace
    #38379986
thor85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
интерсно, то что ответ выдает с заданным префиксом, при генерации запроса это не прокатывает
...
Рейтинг: 0 / 0
Префиксы namespace
    #38379992
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NamespacePrefixMapper ?
...
Рейтинг: 0 / 0
Префиксы namespace
    #38380338
thor85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как я смогу использовать NamespacePrefixMapper если неймспейсы задаются аннотациями?
...
Рейтинг: 0 / 0
Префиксы namespace
    #38380517
пролетевший
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
public class FooNamespacePreffixMapper  extends NamespacePrefixMapper  {

    /*
     *  (non-Javadoc)
     * @see com.sun.xml.internal.bind.marshaller.NamespacePrefixMapper#getPreferredPrefix(java.lang.String, java.lang.String, boolean)
     */
    public String getPreferredPrefix(String namespaceUri, String suggestion, boolean required) {
        if ("http://foo.bar".equals(namespaceUri)) {
            return "";
        } else if ("http://sqPref.test.ru".equals(namespaceUri)) {
            return "sqPref";
        }

        return suggestion;
    }
}
...
Рейтинг: 0 / 0
Префиксы namespace
    #38380598
thor85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В таком случае как я смогу применить FooNamespacePreffixMapper к классу ParametrsForServices.java? Мне нужно что бы программа soapUI генерила корректные параметры соап запроса.
...
Рейтинг: 0 / 0
Префиксы namespace
    #38380616
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
namespace prefix может быть вообще любым валидным для XML формата. Если сервер не может обработать запрос с каким-то другим namespace префиксом, то это бага сервера. Имя префикса задаётся и используется внутри документа. Системам снаружи должно быть всё равно какой там префикс.
...
Рейтинг: 0 / 0
Префиксы namespace
    #38380642
thor85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это мне известно. Просто все запросы идут через СМЭВ, а у них жесткие требования к префиксам и ни чего с этим поделать нельзя
...
Рейтинг: 0 / 0
Префиксы namespace
    #38380671
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
thor85В таком случае как я смогу применить FooNamespacePreffixMapper к классу ParametrsForServices.java? Мне нужно что бы программа soapUI генерила корректные параметры соап запроса.
Маппер задаётся в настройка маршалера. Надо погуглить как в JAXWS выдрать маршалер. А при чем тут SOAP UI?
...
Рейтинг: 0 / 0
Префиксы namespace
    #38380672
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
thor85Это мне известно. Просто все запросы идут через СМЭВ, а у них жесткие требования к префиксам и ни чего с этим поделать нельзя
Мда. Понимаю.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Префиксы namespace
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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