cancel
Showing results for 
Search instead for 
Did you mean: 

Webservice model not updated when re-importing

olivier_thiry
Participant
0 Kudos

Hello,

We are facing a strange situation...

We define a transaction in MII to be consumed as WebService in Java WebDynpro. This transaction is a simple query on a DB returning 4 fields :

Shift code : SHIFT

Shift description : DESCRIPTION

Start time : START_TIME

End time : END_TIME

It works fine, we use the import adaptative web service wizzard in netweaver developper studio to use this WS...

But if we to an update on the webservice, changing a field name for example (SHIFT -> SHIFTCODE), we start to have trouble...

We re-import the model with the wizzard (after deleting the previous one). Everything seems to be ok, we see the new name in the model, but when deploying and run, we got then the very helpful error message :

Exception on execution of web service with WSDL URL '<sever>/WebServices/GetShift' with operation 'Xacute' in interface 'XacuteWSSoap'

If I display the model info using wdContext.currentRequest_XacuteElement().modelObject().associatedModelClassInfo().getModelInfo().toString()

I got the following (extract) :

<ModelClassPropertyInfo name="SHIFT" dataType="com.sap.tc.webdynpro.model.webservice.types.string(java.lang.String)" readOnly="false" qName="SHIFT" required="true" backendType="null"/>

As you can see, the model definition is NOT updated and we still have SHIFT as name instead of SHIFTCODE...

If someboby has an idea, it will save us our life ;o)

Thank you

PS:it the same behaviour if we add a field...

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Olivier,

Restart your portal instance and check again. Many times these will be cached in portal cache. Restart of portal instance will clear the cache.

Regards,

Ponraj M

olivier_thiry
Participant
0 Kudos

Hello,

Sorry, this solution (already found on the SDN) is not acceptable... We can not restart our server every time we modify a web service...

There should be another solution.

Important info, we are running netweaver 7.0.17 and MII 12.0.4

Regards

Former Member
0 Kudos

There is no other way to do this. Restart, or rename (or make a copy) of the webservice. That way it's not cached.

olivier_thiry
Participant
0 Kudos

We also already notice that renaming the webservice (sometimes, not always) solved the problem, but it's not an acceptable solution for us, neither restarting the server... It's a shop floor server, on production, with real-time process, we can not restart it like this...

And due to our infrastructure (quite complex), renaming the webservice every time we do a change will mean a lot of extra work, like renaming also the proxies on server, and so on...

I think the final solution will be to move to .NET...

Former Member
0 Kudos

Hi Olivier,

You are correct, this isn't a solution but unfortunately it is how it is with the current Web Service implementation on the SAP NW stack.

I'm just coming to the end of a year long project implementing a large number of web services and as we all know, even with the best investigation and design stage any project will see the requirements of interfaces change as the development progresses.

I've spent the past 12 months constantly asking my basis guy to restart my dev Java stack to clear the WSDL cache. Quite frankly, it's a joke.

A few years ago, when Web Dynpro Java was getting going I went through the exact same problem with adaptive RFC models where if you changed the interface of the backend RFC you had to restart the Java stack to refresh the cache.

I understand caching is essential in a productive environment for performance reasons but it makes no sense in a development environment where interfaces will and do change, often on an hourly basis.

I wish someone at SAP could resolve this issue and make the caching an option on the server level.

One question though Olivier, are you using a live production server for this development? That's not really the best place to be performing development changes directly.

Gareth.

olivier_thiry
Participant
0 Kudos

Hi Gareth,

Thank you for you long and complete explanation, happy to see we are not the only one's in the universe to face this issue ;o)

As I told you, we raised an OSS note to SAP for this bug, but I'm not very optimistic about the result...

Anyway, I know in NW 7.1, there is a "clear cache" possiblitiy. We plan to upgrade to 7.1 in the next months (curently in testing phase).

Off course, we didn't develop on live machine, we have a full infrastructure with sandbos, Dev box, consolidation box and live server...

We are dummies in java Web dynpro, it's our first development, so not easy at beginning.

I will try to re-import after java stack restart, I just asked our server boy to do it...

Thanks again