On Thu, Feb 10, 2011 at 5:15 PM, StephanDiplom <[email protected]> wrote: > Am 10.02.2011 13:53, schrieb George Niculae: >> >> On Thu, Feb 10, 2011 at 1:52 PM, StephanDiplom >> <[email protected]> wrote: >>> >>> Am 10.02.2011 12:27, schrieb George Niculae: >>>> >>>> On Thu, Feb 10, 2011 at 12:47 PM, StephanDiplom >>> >>> >>> "2011-02-10T11:44:57.259000Z":3:JAVA:WARNING:sipx.ketelsen.iant.local:P1-15:00000000:LoggerListener:"Authentication >>> event AuthenticationSuccessEvent: superadmin; details: >>> org.acegisecurity.ui.WebAuthenticationDetails@b364: RemoteIpAddress: >>> 141.41.40.142; SessionId: 1q03ektws6g9r" >>> >>> but the SOAP-response says: >>> >>> <soapenv:Envelope >>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" >>> xmlns:xsd="http://www.w3.org/2001/XMLSchema" >>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> >>> <soapenv:Body> >>> <soapenv:Fault> >>> <faultcode>soapenv:Server.userException</faultcode> >>> <faultstring>java.lang.NullPointerException</faultstring> >>> <detail> >>> <ns1:hostname >>> >>> xmlns:ns1="http://xml.apache.org/axis/">sipx.ketelsen.iant.local</ns1:hostname> >>> </detail> >>> </soapenv:Fault> >>> </soapenv:Body> >>> </soapenv:Envelope> >>
You hit NPE at m_bridge.getSettings(); line because m_bridge is null. You should load the bridge based on the hostname where you want the conference to be created. My advice is to send the hostname where you want the conf to be created in ConferenceData (update sipxconfig.wsdl, add yet another element). Inject ConferenceBridgeContext in SystemServiceImpl (by adding setConferenceBridgeContext method and adding a new property to the SystemService bean inside services-servlet.xml file - <property name="conferenceBridgeContext" ref="conferenceBridgeContext" />). In SystemServiceImpl.createConference: - create a new conf by calling ConferenceBridgeContext.newConference() - instead instantiating / initializing a conference and set the unique id - load the bridge using ConferenceBridgeContext.getBridgeByServer(String hostname) and set it on conference (conference.setBridge(Bridge)) - set name, description, extension, owner received in ConferenceData (as you already did) - save conference by calling ConferenceBridgeContext.store(Conference) (mind that even you'll see the conference in admin UI, it won't be active until you issue a reload on FS service) Also, it would be better to create a new Conference Service instead using the System Service for saving conferences... George _______________________________________________ sipx-dev mailing list [email protected] List Archive: http://list.sipfoundry.org/archive/sipx-dev/
