2016-05-15 17 views
1

Ich habe eine EJB, die die Rolle meiner Web-Service-Klasse zu spielt. Ich benutze Oracle Weblogic 12.1.2 als JavaEE-Container. Hier ist der Code dieser Klasse:Erzwinge Weblogic auszuschliessen IncludeTimestamp von generierten wsdl

@Stateless 
@WebService(serviceName="MyService") 
@Policy(uri = "Wssp1.2-2007-Https-UsernameToken-Plain.xml", attachToWsdl=true) 
@XmlAccessorType(XmlAccessType.FIELD) 
public class MyWebServiceBean{ 
// some web methods ... 
} 

Die beigefügte Politik und ihre entsprechenden wsse-Tags korrekt in generierten WSDL-Datei zu sehen ist. In der generierten Datei befindet sich jedoch ein IncludeTimestamp-Tag, das Clients dazu zwingt, Timestamp in ihrer Anforderung zu senden. Da in meiner Umgebung Kunden unterschiedliche Zeiten haben, möchte ich sie nicht zwingen, die Zeit zu senden! Dann lasse ich einfach den IncludeTimestamp Tag vom Server weg, wsdl und danach geht alles gut! Aber ich will nicht mit der Hand damit umgehen. Gibt es eine Einstellung in Weblogic 12.1.2, um das Vorhandensein des erwähnten Tags zu konfigurieren?

Antwort

0

Nach viel Lesen und Suchen für diese Angelegenheit fand ich, dass wir benutzerdefinierte Richtlinie erstellen sollten. Zuerst sollten wir die XML-Datei der gewünschten Richtlinie finden. Flow this Beitrag zu tun. Dann sollten wir es bearbeiten und die bearbeitete Version in unseren Klassenpfad kopieren und für @Policy Annotation sollten wir die neue Adresse unserer XML-Datei verwenden! Das ist es.